CN104484301B - A kind of IO bus units based on FPGA with self-recognition function - Google Patents
A kind of IO bus units based on FPGA with self-recognition function Download PDFInfo
- Publication number
- CN104484301B CN104484301B CN201410821282.1A CN201410821282A CN104484301B CN 104484301 B CN104484301 B CN 104484301B CN 201410821282 A CN201410821282 A CN 201410821282A CN 104484301 B CN104484301 B CN 104484301B
- Authority
- CN
- China
- Prior art keywords
- plate
- data
- fpga
- cpu
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0004—Parallel ports, e.g. centronics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
The present invention has the IO bus units of self-recognition function based on FPGA, belongs to bussing technique field.The present invention includes CPU, FPGA, groove position plate, parallel bus, universal serial bus and fieldbus, and the CPU carries out data interaction by external bus and FPGA, and the FPGA is interacted by parallel bus or universal serial bus with groove position plate;CPU passes through fieldbus and groove position plate direct interaction;The FPGA provides plate address to CPU, and helps CPU to send and receive provided with state machine in data, the FPGA, and state machine, which can be circulated, chooses plate interface, reads plate information and data-signal.The present invention has the function of self-identifying plate information, enhances the reliability of data interaction.Communicated between plate more flexibly, facilitate apparatus platform update.FPGA is interacted by parallel bus as CPU and the bridge of external data with universal serial bus to plate data.
Description
Technical field
The present invention relates to bussing technique field, more particularly to expansible electric equipment protection device.
Background technology
In traditional electric equipment protection device, host CPU plate and open, output, the connection between the plate such as analog quantity is adopted
With dedicated bus, data interaction is directly set up between host CPU and various plates, and such a data transfer mode exists many intrinsic
Defect.First, this transmission means fixes the position of each block of plate, i.e., each block plate can only be inserted in the fixed position of backboard,
Line between backboard and host CPU plate has just been fixed at the beginning of design, and each groove position is unable to the other kinds of plate of grafting on backboard
Part.Secondly, plate wrong plug may cause device to damage, and especially misplug wrong power panel or simulation template, it would be possible to cause host CPU
Plate is damaged.3rd, there is no intelligent self-checking function and identification function because dedicated connection is various, and in protection device, in length
In phase work, it may occur that aoxidized at plate connector, cause plate to be connected unreliable with backboard, input signal can not correctly be known
Not, output signal may also malfunction.4th, the increase in demand with power equipment to protection device, CPU needs often more
New to regenerate, traditional device generally requires significantly to change hardware and program.
The content of the invention
In order to solve above-mentioned problems of the prior art, self-identifying work(is had based on FPGA the invention provides one kind
The IO bus units of energy.Various plate optional positions are realized to install, and host CPU has self-identifying plate function, so as to increase
The strong reliability of electric equipment protection device.Meanwhile, by FPGA managing I/O buses, hardware platform upgrading is facilitated, CPU is more
It is new to regenerate.
The technical solution adopted in the present invention is as follows.
A kind of IO bus units based on FPGA with self-recognition function, including it is CPU, FPGA, groove position plate, parallel total
Line, universal serial bus and fieldbus, the CPU carry out data interaction by external bus and FPGA, and the FPGA passes through simultaneously
Row bus or universal serial bus are interacted with groove position plate;CPU passes through fieldbus and groove position plate direct interaction;The FPGA is carried
For plate address to CPU, and CPU is helped to send and receive data.State machine is provided with the FPGA, state machine can circulate choosing
Middle plate interface, reads plate information and data-signal.
The parallel bus uses data wire, chip select line, write signal line, reading signal lines, and data wire is that each groove position is public, and
And data transfer is two-way;Each plate interface all connects chip select line;Partly it is used to read plate information in reading signal lines.
The data wire is 8, and the route selection is 1, and the write signal line is 4, and the reading signal lines are 6, its
In 2 reading signal lines be used as reading plate information, 4 are used as read functions data.
The plate information is made up of 28 data, includes 5 plate types, 3 hardware versions, 5 BOM versions, 3
Position fixed code.
The register that sends and receives of the FPGA uses FIFO data cached.
The fieldbus is CAN, and the universal serial bus is RS485 universal serial bus.
Based on FPGA there is the IO bus units of self-recognition function to be unified to parallel bus and universal serial bus by FPGA
Management, FPGA as CPU and the main bridge of each plate data interaction.Parallel bus using 8 position datawires, 1 bit slice route selection,
4 write signal lines, 6 reading signal lines.Universal serial bus can be RS485 universal serial bus.FPGA is serial by parallel bus and RS485
Bus is connected with each plate.FPGA provides plate interface IP address to CPU, and helps CPU to send and receive data.Will for speed
Higher data volume is asked to be communicated using CAN, CPU is directly communicated with each plate.
Parallel bus in FPGA controls, backboard each groove position to that should have respective CS chip select lines.8 data are all
Groove position is public, and data wire is two-way, and FPGA can send data to each plate, can also read the data of each plate.
WR write signal lines have 4, coordinate 8 position datawires, can send 32 data to the plate of each groove position, as control is outputed on plate
Relay, veneer could support up 32 relays.Same reading signal lines have 6, wherein 2 are used as reading plate information,
Remaining 4 are used as read functions data, and as read the intake opened into plate, single plate could support up 32 and open into signal.
Each groove position is chosen in the circulation of use state machine in FPGA, and the plate information and data-signal for reading each groove position (are such as opened
Enter amount), data are then written to corresponding plate (such as control relay).Self-recognition function is by reading plate information realization
, plate information is made up of 28 data.Plate packet is containing 5 plate types, 3 hardware versions, 5 BOM versions, 3
Position fixed code (such as 010).Fixed code is used to judge whether plate inserts, and is easy to investigation to cause plate information errors because of welding error
Phenomenon.
Universal serial bus is used for the deficiency for supplementing parallel bus, when host CPU plate needs to communicate with special plate, just using string
Row bus transmit data.When being needed such as direct current sampling plate host CPU plate is issued in sampled data, direct current sampling plate passes through RS485
Communicated with host CPU plate.RS485 serial communication bus is also to realize that FPGA is by RS485 serial bus transmissions by FPGA simulations uart
Data be supplied to cpu i/f.The FPGA register that sends and receives can be data cached using FIFO, so reduces CPU's
Consumption.RS485 universal serial bus is left in each groove position on backboard, facilitates each groove position to be communicated with host CPU plate.CAN
It is same design, only CPU and plate Direct Communication, are uniformly controlled without FPGA.
Parallel bus can not only work independently the different data of transmission from universal serial bus, can also cooperate, all use
To transmit data of the same race.For critical data using parallel bus transfers to CPU, while also using serial bus transmission to CPU,
So enhance the reliability of transmission data.
Beneficial effect:
The present invention has made improvement relative to traditional electric equipment protection device internal data bus.
First, bus to each groove position plate can self-identifying, can so read plate information, self-identifying plate
Type, the information such as hardware version, is easy to program to handle, enhances the versatility of each plate.
Secondly, each groove position of design point machine loop control in FPGA, enhances the flexibility of plate position, each groove
Position no longer fixation can only insert single plate, but each groove position can any plate of grafting.
3rd, data transfer both can also can also pass through two classes simultaneously by parallel bus by universal serial bus
Bus transfer, enhances the reliability of data.And in FPGA the dithering process that disappears can be carried out to intake, enhance and open into number
According to reliability.
4th, FPGA control parallel bus and universal serial bus, and program does not need uart drivings, convenient master for host CPU
CPU is updated, it is only necessary to write the code with FPGA communication parts, it is possible to which control is outputed, reads and open into and exchange plate
The functions such as data.
5th, operation when digital independent of the present invention and write-in between host CPU and FPGA can retain 32, this method
The expense of host CPU is saved to a certain extent, the utilization rate of host CPU is reduced, and the intake simultaneously for reading can be with
Do to disappear and tremble processing, do to disappear to tremble handling the expense that another step saves host CPU in FPGA.
6th, above-mentioned RS485 series bus controllers are used in FPGA, overall versatility is enhanced, host CPU is visited
Ask that above address can just realize RS485 serial communications, save inquiry or the break period of host CPU.
7th, data can reach host CPU from different bus runs respectively, for the high signal of rate requirement, pass through
CAN is directly connected with the CPU of mainboard, this ensure that the promptness of signal.For the relatively low signal of speed, it can pass through
RS485 bus transfer datas.
8th, parallel bus can not only work independently the different data of transmission from universal serial bus, can also cooperate,
All it is used for transmitting data of the same race.For critical data using parallel bus transfers to host CPU, while also using serial bus transmission
To host CPU, the reliability of transmission data is so enhanced.
It is a feature of the present invention that whether can have plate insertion, self-identifying insertion plate for some groove position with self-identifying
The information such as type, hardware version.And the warm connection function of plate can thus be realized with Dynamic Recognition.While plate
The design of part is not limited to certain product, and different product can use veneer of the same race, the input and output plate especially largely used
Part.
Brief description of the drawings
Fig. 1 is the overall structure block diagram of the present invention.
Fig. 2 is the circuit diagram that the present invention reads plate information.
Embodiment
As shown in figure 1, the present embodiment includes host CPU plate, the groove position of grafting plate is three kinds of bus parallel buses, serial total
Line and fieldbus, host CPU plate include CPU module and FPGA module.Wherein these three buses are all connected with each groove position.Each
Groove position can use these three buses to send data.Except CAN is directly to be connected by CPU and groove, remaining be all by
FPGA is connected with groove position, unified management parallel bus and RS485 buses.
There are each different places each groove position, and each groove position has CS chip select lines to be connected with FPGA, and such FPGA just can be with
Time-sharing multiplex parallel bus.
Parallel bus is made up of CS chip select lines, 2 RD_ID, 4 RD, 4 WR and 8 data lines, as shown in table 1.
The specific terminal of the bus of table 1 defines table
A | B | C | |
1 | CS | ||
2 | |||
3 | DATA1 | DGND | DATA0 |
4 | DATA3 | DGND | DATA2 |
5 | DATA5 | DGND | DATA4 |
6 | DATA7 | DGND | DATA6 |
7 | RD_1 | DGND | RD_0 |
8 | RD_3 | DGND | RD_2 |
9 | RD_ID1 | DGND | RD_ID0 |
10 | WR_1 | DGND | WR_0 |
11 | WR_3 | DGND | WR_2 |
12 | +3.3V | CAN_H | RS485+ |
13 | +3.3V | CAN_L | RS485- |
14 | +5V | +5V | +5V |
15 | +24V | +24V | +24V |
16 | 24GND | 24GND | 24GND |
FPGA state machine is selected by piece, reading writing signal line is read and write-in data.Read 5 plate types and 3 hard
The circuit of part version is as shown in Figure 2.When chip select line CS and RD_ID0 is simultaneously low level, BOARD_RD_ID0 signals are low electricity
Flat, buffer will be transferred to the 5 type codes 0x07 and 3 hardware version numbers 0x0 of this plate on 8 position datawires,
FPGA can just read type and the version number of the plate.Same method can read No. BOM of plate and for determining plate
The fixed code whether part is plugged.16 plate information definitions are as shown in table 2.
2 16 plate information definition tables of table
When reading 32 data (such as intakes) from plate, using the method same with reading plate information, pass through 4 RD
Signal wire reads 8 data respectively, and 32 data volumes are combined into FPGA, facilitates 32 bit CPUs (such as ARM) to access.To
When plate writes 32 data (such as relays), chip select line CS and 4 WR lines coordinate, and are respectively written into 8 data.Now CPU with
Operation between FPGA can also retain 32.This method saves CPU expense to a certain extent, reduces CPU's
Utilization rate, the intake simultaneously for reading can also be done to disappear and tremble processing, do to disappear in FPGA and tremble the another step of processing and save CPU
Expense.
As shown in table 1, do not only have parallel bus in bus, and leave two kinds of serial line interfaces of RS485 and CAN.For speed
Rate requires high signal, is directly connected by CAN with the CPU of mainboard, this ensure that the promptness of signal.For speed
Relatively low signal, can pass through RS485 bus transfer datas.RS485 buses are FPGA on mainboard and veneer connecting line,
2 FIFO are opened up in FPGA for cache bus data, while so ensureing that data do not lose transmission, CPU waits are reduced
Time, and for CPU program do not need uart driving, facilitate CPU to update, it is only necessary to write and FPGA communicate
Partial code, it is possible to control output, read open into power board number of packages according to etc. function.
The RS485 EBIs address such as following table of FPGA controls.
The RS485 EBI address tables of the FPGA of table 3 controls
0x3800_C000 | RS485 control registers;Energy when 0bit is, 1bit is internal loopback, and 2bit is reset |
0x3800_C002 | RS485 baud rate registers;Baud rate for calculating RS485 |
0x3800_C004 | TX_FIFO usage amount registers; |
0x3800_C008 | TX data registers; |
0x3800_C00A | RX_FIFO usage amount registers; |
0x3800_C00E | RX data registers; |
Above-mentioned RS485 series bus controllers are used in FPGA, are enhanced more than overall versatility, CPU access
Address can just realize RS485 serial communications, save CPU inquiry or break period.
Claims (1)
1. a kind of IO bus units based on FPGA with self-recognition function, it is characterised in that including CPU, FPGA, groove position plate
Part, parallel bus, universal serial bus and fieldbus, the CPU carry out data interaction by external bus and FPGA, described
FPGA is interacted by parallel bus or universal serial bus with groove position plate;CPU passes through fieldbus and groove position plate direct interaction;
The FPGA provides plate interface IP address to CPU, and helps CPU to send and receive in data, the FPGA provided with state machine, shape
State machine, which can be circulated, chooses plate interface, reads plate information and data-signal;
The parallel bus uses data wire, chip select line, write signal line, reading signal lines, and data wire is that each groove position is public, and number
It is two-way according to being transmitted as;Each plate interface all connects chip select line;Partly it is used to read plate information in reading signal lines;
The data wire is 8, and the route selection is 1, and the write signal line is 4, and the reading signal lines are 6, wherein 2
Reading signal lines are used as reading plate information, and 4 are used as read functions data;
The parallel bus in FPGA controls, backboard each groove position to that should have respective CS chip select lines;8 data are all
Groove position is public, and data wire is two-way, and FPGA sends data to each plate, also reads the data of each plate;WR write signals
Line has 4, coordinates 8 position datawires, and 32 data are sent to the plate of each groove position;Same reading signal lines have 6, wherein 2
Position is used as reading plate information, and remaining 4 are used as read functions data;Each groove is chosen in the circulation of use state machine in FPGA
Position, and to reading the plate information and data-signal of each groove position, data are then written to corresponding plate;Self-recognition function is logical
Cross and read plate information realization, the plate information is made up of 28 data, include 5 plate types, 3 hardware versions
Originally, 5 BOM versions, 3 fixed codes;
The register that sends and receives of the FPGA uses FIFO data cached;
The fieldbus is CAN, and the universal serial bus is RS485 universal serial bus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410821282.1A CN104484301B (en) | 2014-12-25 | 2014-12-25 | A kind of IO bus units based on FPGA with self-recognition function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410821282.1A CN104484301B (en) | 2014-12-25 | 2014-12-25 | A kind of IO bus units based on FPGA with self-recognition function |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484301A CN104484301A (en) | 2015-04-01 |
CN104484301B true CN104484301B (en) | 2017-08-11 |
Family
ID=52758844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410821282.1A Active CN104484301B (en) | 2014-12-25 | 2014-12-25 | A kind of IO bus units based on FPGA with self-recognition function |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484301B (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104993921B (en) * | 2015-07-08 | 2018-04-10 | 上海斐讯数据通信技术有限公司 | A kind of communication port gating method of serial ports master-slave communication control system |
CN106210016B (en) * | 2016-07-05 | 2019-11-22 | 上海斐讯数据通信技术有限公司 | The network equipment and its configuration upgrade method |
CN107193763B (en) * | 2017-04-13 | 2020-04-24 | 联想(北京)有限公司 | Information processing method and electronic equipment |
CN107632566B (en) * | 2017-09-19 | 2020-06-30 | 新华三技术有限公司 | Board card identification device and method and network equipment |
CN107907760A (en) * | 2017-10-30 | 2018-04-13 | 许继电气股份有限公司 | A kind of electric system distributed intelligent I/O Interface device and TT&C system |
CN108108316B (en) * | 2017-12-14 | 2023-08-11 | 珠海西格电力科技有限公司 | Interface expansion method and system based on field programmable gate array |
CN109361607B (en) * | 2018-10-15 | 2021-09-17 | 迈普通信技术股份有限公司 | Method and device for acquiring table item data and communication equipment |
CN109614351B (en) * | 2018-11-30 | 2022-05-24 | 中国人民解放军陆军工程大学 | Parallel bus serial interconnection extension method with error correction and automatic response mechanism |
CN109541475A (en) * | 2018-12-18 | 2019-03-29 | 武汉精能电子技术有限公司 | The method that automatic identification is carried out to multiple functions module simultaneously |
CN110120922B (en) * | 2019-05-14 | 2022-09-20 | 中核控制***工程有限公司 | FPGA-based data interaction network management system and method |
CN112540944B (en) * | 2020-12-15 | 2022-11-25 | 安徽皖通邮电股份有限公司 | Parallel bus protocol and method for realizing data interaction between boards based on protocol |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841624A (en) * | 2010-05-17 | 2010-09-22 | 北京思比科微电子技术股份有限公司 | Image sensor data transmission method |
CN201876872U (en) * | 2010-12-10 | 2011-06-22 | 上海申瑞电力科技股份有限公司 | Large-volume data acquisition device |
CN102521182A (en) * | 2011-11-23 | 2012-06-27 | 华南师范大学 | Extensible multichannel parallel real-time data acquisition device and method |
CN102761793A (en) * | 2012-06-12 | 2012-10-31 | 烽火通信科技股份有限公司 | Matrix eID bus circuit |
-
2014
- 2014-12-25 CN CN201410821282.1A patent/CN104484301B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841624A (en) * | 2010-05-17 | 2010-09-22 | 北京思比科微电子技术股份有限公司 | Image sensor data transmission method |
CN201876872U (en) * | 2010-12-10 | 2011-06-22 | 上海申瑞电力科技股份有限公司 | Large-volume data acquisition device |
CN102521182A (en) * | 2011-11-23 | 2012-06-27 | 华南师范大学 | Extensible multichannel parallel real-time data acquisition device and method |
CN102761793A (en) * | 2012-06-12 | 2012-10-31 | 烽火通信科技股份有限公司 | Matrix eID bus circuit |
Also Published As
Publication number | Publication date |
---|---|
CN104484301A (en) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484301B (en) | A kind of IO bus units based on FPGA with self-recognition function | |
EP0962863A2 (en) | Dasd concurrent maintenance for a pci based dasd subsystem | |
CN107632953A (en) | A kind of GPU casees PCIE extends interconnection topology device | |
CN105243044B (en) | Management system and management method based on serial ports | |
CN113872796B (en) | Server and node equipment information acquisition method, device, equipment and medium thereof | |
CN208188815U (en) | BMC module system | |
CN105335548A (en) | MCU simulation method for ICE | |
CN105068955A (en) | Local bus structure and data interaction method | |
CN204256732U (en) | The high-speed data transmission apparatus of Based PC I-Express interface | |
CN111679935A (en) | Configuration monitoring fault-tolerant communication method based on DMA and interrupt fusion | |
TW202005485A (en) | Switch board for expanding peripheral component interconnect express compatibility | |
CN105718396B (en) | A kind of I of big data master transmissions2C bus units and its means of communication | |
CN208538025U (en) | A kind of server for supporting 10 hot-plug hard disks | |
CN109407574A (en) | Output-controlling device and its method may be selected in a kind of multibus | |
CN2845324Y (en) | MVB equipment network interface card based on FPGA | |
CN206075270U (en) | The 1553B bus modules of spi bus interface | |
CN210924375U (en) | Domestic case control integrated circuit board | |
CN103377161A (en) | Main board and data processing method applied to same | |
CN107566301A (en) | A kind of method and device realized RapidIO exchange system bus speed and automatically configured | |
CN100394359C (en) | Interface for intelligent card simulative debugging system | |
CN104409090A (en) | Usb interface conversion module | |
CN204480237U (en) | A kind of connector, universal serial bus device and intelligent terminal | |
CN102855210B (en) | Method for realizing intercommunication and data sharing between two single-chip microcomputers | |
CN203502958U (en) | GPIO expansion circuit of ARM processor | |
CN202110533U (en) | Multi-interface software debugging tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |