PC104 control module and C8051F06x microcontroller to realize AD detection board

Publisher:捡漏来了Latest update time:2011-12-31 Keywords:PC104 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

The control detection board composed of PC104 control module and Cgnal C8051F06x microcontroller can be used in high-end detection equipment, making full use of the rich software and hardware resources of PC104 control module and microcontroller, and can be used in various detection applications.

In the process of developing detection equipment, the core board plus base board design method can be used to reduce the technical difficulty, realize a programmable, high-performance, simple to develop, and highly extensible design solution, and it can be easily applied to other fields with slight modifications.

The core board uses the PC104 control module, and uses its powerful processing power to process data, such as data storage, data analysis, and data evaluation. In particular, the friendly GUI simplifies the user's use difficulty. The base board uses Cgnal8051F06x, dual-port RAM and buffer registers, and uses the rich software and hardware resources of the C8051F06X microcontroller to implement various programmable and configurable complex functions. There is only one communication path between the core board and the base board, the PC104 bus, which can be designed and implemented separately, simplifying the development difficulty.

System hardware structure and working principle

  • System structure and features

    The system consists of a core board PC104 control module and a base board Cgnal C8051F06x as the core AD detection board. The two boards are connected through the PC104 bus and powered separately. A problem with any circuit board will not affect the operation of the other circuit board.

    The system hardware block diagram is shown in Figure 1, which mainly includes two parts: the core board and the base board. The core board mainly includes the PC104 module, LCD, touch screen, other expansion modules, as well as the power supply and the PC104 bus connected to the base board. The base board mainly includes the C8051F06X control core unit, digital circuit, analog circuit, dual-port RAM, buffer register and dedicated power supply.


    Figure 1 System hardware block diagram


    The working principle of the system is introduced below. After the baseboard is powered on and reset, the setting value stored in the internal flash memory of the microcontroller is read out, and the relevant digital circuit and analog circuit parts are initialized according to the setting value, and then the control right of the dual-port RAM is handed over to the core board. After entering the normal working state, the protocol area and buffer register of the dual-port RAM are continuously queried. According to the command received from the core board, it is executed, and the execution result is fed back to the core board through the dual-port RAM, and then the core board performs corresponding processing according to the feedback data of the baseboard. After power-on, the core board first initializes the relevant hardware, such as the PC104 control module, LCD, touch screen and other expansion modules. After the startup is completed, the working status of the baseboard is queried. When the baseboard is ready to receive the control word, the GUI program is started, and the input right of the touch screen is handed over to the user. At this time, the user can control the entire system through the GUI interface of the touch screen and LCD display to complete the corresponding functions.

    The control core PC104 control module has rich software and hardware resources, including a dedicated graphics card controller, GUI software, support for multiple operating systems, a multi-functional electronic disk storage solution, a ferroelectric memory or a battery-backed 512K SRAM memory, an ISA bus interface for expanding peripherals, and an Ethernet controller. The virtual display technology integrated in the BIOS allows users to program and debug in a virtual display environment, and can make full use of a large number of excellent software on existing PCs as development tools.

    The display uses a TFT 640X480 6.3-inch 256-color LCD. A touch screen is used as an input device, and software programming is used to implement input using the touch screen, replacing standard keyboard input and mouse input, and can also implement stylus input. The system can also add GPRS modules, infrared modules or other wireless communication modules to provide wireless communication functions.

    The control core of the baseboard is the C8051F06X single-chip microcomputer, which can realize the configuration of various peripherals on the CPU pins and realize various complex detection modes, such as sampling frequency, sampling length, sampling threshold voltage and sampling range can all be set. In addition, it is also necessary to realize the indication of various states and the configuration of other peripherals.

    In order to solve the communication problem between the baseboard and the core board, a dual-port RAM plus buffer register solution is adopted in the design.
  • Baseboard Implementation

    Because it is used for handheld devices, a 12V battery is used for power supply. To improve the stability of the system, three DC/DCs are used on the power module to power the baseboard, core board and analog circuit respectively. The circuit is shown in Figure 2.


    Figure 2 Schematic diagram of the power supply part of the baseboard circuit


    POWER is the input terminal of the power supply, that is, the input terminal of the battery power supply. DC0 is the core board power supply circuit, which mainly provides power to the core board. DC1 is the power supply for the analog circuit. DC2 is the power supply for the external sensor. L0 is the 5V power indicator.

    The analog circuit part of the bottom board circuit is shown in Figure 3.


    Figure 3 Analog circuit part


    AIN is the access socket of the sensor. Resistors R04 and R08, R12 and R10 respectively form a reverse proportional amplifier circuit with LF357 to amplify the weak current signal of the sensor to a signal that can be processed by the CPU. R03 and R11 are matching resistors for this amplifier circuit, and the calculation formula of resistance value is R03=R04//R08, R11=R12//R10. C10 and C13 are DC blocking capacitors, and C11 and C14 are filter capacitors used to filter out noise in the signal.

    The core circuit of the bottom board is shown in Figure 4.


    Figure 4 The core circuit of the baseboard


    The core CPU C8051F06X of the U1 baseboard is the core of the entire baseboard, and all operations of the baseboard are controlled by it. U4 is the address latch 373. U9 is the bus driver, which realizes the conversion from 3.3V to 5V. All the circuits in this part are 3.3V devices.

    The power supply circuit and other circuits of the core components of the baseboard are shown in Figure 5.


    Figure 5 Power supply circuit and other circuits of the core components of the baseboard


    U10 is 1117 used to convert 5V input into 3.3V output. L3 is the working status indicator. FMQ1 is a buzzer. C30~C36 are decoupling capacitors. R26, R27, C21 and C22 form the power-on and key reset circuit. L1 and L2 are power indicator lights. JTAG is the JTAG debugging port.

    The PC104 bus circuit schematic is shown in Figure 6.


    Figure 6 Circuit diagram of PC104 bus


    Since the baseboard and core board are connected through the PC104 bus, and since the core board is powered by 5V, while the core components of the baseboard are all 3.3V, U5, U7, U8, U11, and U12 in the schematic diagram all convert 5V input into 3.3V output.

Software Design

  • Baseboard program

    The baseboard is the detection part of this solution. All signal-related detection parts are implemented on this board. Therefore, modular design is adopted in the baseboard program design, and all modules can be loaded and unloaded through logical macros.

    For unused functions, you can use the #undef macro instruction or comment it out with //. The advantage of this programming is that when the system adds functions, you only need to load the corresponding modules, and you can turn off the unnecessary modules, which can save flash memory space and speed up execution efficiency.
  • Core board part PC104 control module

    The core board is the control core in this design, and all functions of the AD detection baseboard are controlled by it. The GUI interface is mainly implemented on it, and the programming development environment can use VB, VC, BC, C++Builder. The main process is AD board detection, GUI interface design and data processing, etc. In this solution, Visual C++ 6.0 development environment is used for development.

    The setting options mainly manage all system-related settings, such as AD sampling mode settings (differential, single-ended), sampling frequency, sampling length, sampling threshold voltage, sampling window voltage, system clock settings, etc.; file management mainly manages storage space on memory such as CF card, such as how much storage space is, how much is occupied, how much is left, etc.; display properties mainly display all property setting values ​​and factory default values ​​of the entire system; field detection is to express the field detection data in the form of curves, and can be stored in the form of graphic files for later analysis; data analysis is to compare the field detection data and curves with the ideal state data and curves, and give possible reasons and solutions for the differences in data and curves.

Improve reliability

In order to improve the reliability of this system, in addition to adding power supply layer, ground layer and decoupling capacitors to each IC in the hardware circuit, some unique designs are also adopted in the software design to increase the reliability of the system.

  1. The RAM communication protocol of both parties uses standardized protocol standards, including data block header, data block valid byte number, data block control command code, data block command code mode, data block command code parameter list length, data block command code parameter list, data block data length, data block data and comparison data. In less complex applications, a simplified form can be used. For example, the comparison data can use odd comparison check, even comparison check, sum check and CRC check. In general applications, sum check can be used.
  2. Storage area partition management. The dual-port RAM used for communication is divided into a protocol area and a data area, which not only increases the efficiency of dual-port RAM use, but also makes the software programming structure clear, and increases the reliability of system operation.
  3. Use of software watchdog. Separate software watchdogs are used on the core board and the baseboard, which not only ensures the reliability of the core board and the baseboard respectively, but also minimizes the mutual influence when they fail.

This design has the advantages of small size and low power consumption. It can be powered by batteries and can be used as a handheld device.

Keywords:PC104 Reference address:PC104 control module and C8051F06x microcontroller to realize AD detection board

Previous article:Design and Implementation of Function Generator Based on 51 Single Chip Microcomputer
Next article:Heat source automatic tester based on 51 single chip microcomputer control

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号