Share this

Design and Implementation Based on Embedded System Development Platform

2026-04-06 04:29:29 · · #1
Abstract: This paper first introduces the EVB2107 evaluation board, its system development tools, and integrated development environment. Then, it explains the design philosophy and implementation principles of each module on the expansion board, starting from their underlying principles and considering the functions they are intended to achieve. The programming ideas and processes for the drivers of each module are also discussed. Keywords: Embedded system, EVB2107 evaluation board, integrated development environment, network interface, controller 1 Introduction An embedded system is a dedicated computer system centered on applications, based on computers, with both software and hardware customizable to meet the stringent requirements of application systems regarding functionality, reliability, cost, size, and power consumption. In recent years, with the development of computer, microelectronics, communication, and network technologies, embedded systems have permeated various fields. Since embedded systems are typically built using microcontroller chips, but microcontroller manufacturers usually only provide the chip's compiler and connector, not a complete development platform; application developers often build their own application products based on microcontrollers, usually without providing a complete, especially general-purpose, embedded system development platform; development platforms provided by foreign third-party companies are generally single-function, simple in structure, and expensive. Domestic development platforms are generally just simple evaluation boards and debugging platforms, usually unable to support high-end microcontrollers. Therefore, to meet the needs of developing various application systems, this paper proposes a design and implementation method for an embedded system development platform. On the hardware side, the embedded system development platform is built around various microcontrollers as its core, using the union of commonly used components of embedded systems as its basic elements. As a general-purpose development platform, it supports one or two representative microcontrollers from the 8-bit, 16-bit, and 32-bit microcontroller families as its core, and includes commonly used components such as network communication, USB high-speed serial communication, memory system expansion, and large-screen LCD/touchscreen controllers. On the software side, the embedded system development platform is based on an embedded microkernel real-time operating system, providing various hardware and software resource management programs, rich function libraries and debugging tools, as well as standardized application design routines for various functional modules, constructing a basic debugging and development platform. When developing specific embedded system applications, a practical embedded system can be completed simply by appropriately tailoring and assembling the software and hardware on this platform. 2. Resources and Development Environment of the EVB2107 Evaluation Board The EVB2107 evaluation board is based on the 32-bit microcontroller MMC2107, and expands upon it with modules such as memory, OnCE interface, serial interface, and power supply circuitry, forming a basic board-level system. Its logical structure is shown in Figure 1. The EVB2107 evaluation board provides 1MB of SRAM and 2MB of FLASH memory, greatly expanding the onboard memory capacity. A programmable logic device (CPLD) is used to implement various control logic circuits on the board, controlling the LED indicator displays on the evaluation board; sampling jumper switch settings to configure the system; and generating memory addresses and control signals to enable the MMC2107 to access external memory on the evaluation board in 16-bit or 32-bit mode. Three peripheral port sockets are used to bring out signals for the SPI, serial communication interface, and timer interface, respectively, to introduce external interrupt request signals, and to introduce analog signals for analog-to-digital conversion using the on-chip QADC. Users can choose a 20-pin double-row flat cable or other connecting wires to connect to the expansion board. The user expansion area (i.e., breadboard) is provided for users to add their own devices. Two RS232 serial communication interfaces and an OnCE interface are used for debugging. The 12V DC input power is converted into various onboard operating power supplies (such as 5V and 3.3V) to power the modules on the expansion board. The EVB2107 evaluation board connects to the host computer via EBDI (Embedded Background Debug Interface). The host computer uses the CodeWarrior IDE integrated development environment provided by Metrowerks and SysDS (M·CORE System Development Software) provided by Motorola, forming the software debugging environment. EBDI is the hardware interface between the EVB2107 evaluation board and the CodeWarrior IDE. The OnCE interface on the EVB2107 evaluation board is connected to the EBDI, and the EBDI is connected to the host computer's serial interface via a serial cable. During debugging, CodeWarrior uses the EBDI connection to download the program to the EVB2107 evaluation board, and then the debug function in the CodeWarrior IDE can be used for code debugging. 3. USB Interface Module This development connects to external devices via a USB interface. A USB system consists of a host, a hub, and devices. They are connected via a USB bus, forming a star topology. In a USB system, there must be one and only one host. The host uses the USB host controller to manage data transfer between the host and USB devices. The host controller, like other I/O devices, is connected to the system bus (PCI bus). The hub attached to the host controller is the root hub of the USB system. Each level of hub provides several downstream ports for connecting other devices. USB devices are logically divided into several layers: device, configuration, interface, and endpoint, as shown in Figure 2. Each USB device has one or more logical connection points called endpoints. An endpoint is a buffer that stores multiple bytes, used as a data buffer. Devices exchange data with the host through endpoints. Each device endpoint consists of an endpoint number and a data direction, ranging from 00h to 0Fh. If the direction is input (IN), it indicates flow to the host; if it is output (OUT), it indicates flow out of the host. Endpoint 0 is used to transmit configuration and control information and can transmit data bidirectionally. All other endpoints are unidirectional data channels, acting as either receiver or transmitter endpoints. USB provides four data transmission modes: Control, Isochronous, Interrupt, and Bulk. Except for endpoint 0, which is always used for control transmission, other endpoints can be configured for the other three modes depending on the characteristics of the data being transmitted. A combination of endpoints of the same type is called an interface. If a device contains more than one interface, it is called a composite device. For most devices, one interface is sufficient, but some devices can have multiple functional interfaces, and these interfaces can be enabled simultaneously. Similarly, a combination of interfaces of the same type is called a configuration. Each configuration must support at least one interface. Most devices have only one configuration, but some devices can support multiple configurations, but only one configuration can be enabled at a time. Once a configuration is activated, all interfaces and endpoints within it can be used. A descriptor is a data structure that provides the host with formatting information about the device. When the host detects a device, it requests the device to return a descriptor in order to understand and configure the device. The host first requests the device descriptor, then the configuration descriptor and the interface descriptor for each configuration, and finally the endpoint descriptor. Optional string descriptors may also be required. 4. Human-Machine Interaction Module To provide users with a good human-machine interface, this development platform features a human-machine interaction module consisting of an LCD display module and a touchscreen control module, as shown in Figure 3. The LCD display module consists of three parts: an LCD screen, an LCD controller, and a display buffer memory. The LCD screen is a MG320240 monochrome LCD screen from Truly Technology, covered by a four-wire resistive touchscreen. The LCD controller is an EPSON S1D13305 chip. The display buffer memory consists of two 62L256 chips, totaling 64KB. The touchscreen controller in the touchscreen control module is a BB ADS7846, connected to the MMC2107 via a standard SPI port. 4.1 The S1D13305 LCD module supports text (i.e., character) display, graphic display, and a combination of text and graphic display modes; the LCD display resolution can reach 640×256 pixels; the duty cycle of the LCD driver varies from 1/2 to 1/256; the internal mask has a character generator ROM with 160 characters and a 5×7 pixel dot matrix; it supports setting an external character generator ROM or RAM with 256 characters and a maximum of 8×16 pixels; the external display RAM (also known as the display buffer) can reach 64KB; the cursor position and shape are programmable; the entire display surface or part of the display surface can scroll smoothly in the horizontal or vertical direction; it can interface with 6800 series and 8080 series microcontrollers; it has a wide operating voltage range (2.7~5.5V); low power consumption, with an operating current of 3.5mA and a backup current of 0.05μA at VDD=3.5V. The S1D13305 has three interfaces: a microcontroller, display memory (including an external character generator), and an LCD module. It receives and executes commands from the microcontroller to perform various display control functions, a total of 13 commands. It receives display data (character codes or bitmapped graphic data) from the microcontroller, generates a signal to write to the memory, writes the display data to the display memory, then reads the display data, converts it into display pixels, generates various timing signals for the LCD, and sends the pixel data to the LCD for display. The microcontroller only needs to send commands to the S1D13305 to update the display content; the S1D13305 handles all reading/writing to the display memory and controlling the LCD scanning display. The S1D13305 can interface with either the 8080 or 6800 microprocessor; based on the interface requirements of the MMC2107, the former is selected. In the design, the data lines of S1D13305 are connected to the data lines D[31:24] of MMC2107, and the address A0 of S1D13305 is connected to the address line ADDR1 of MMC2107. Chip select 3 (CS3#) is used as the chip select signal of S1D13305. In the program, the command port address and data port address are defined as follows: #define lcd_command (*(INT8U*)(0x81800002)) // Command port #define lcd_data (*(INT8U*)(0x81800000)) // Data port 4.2 In addition to the basic X and Y coordinate measurement functions, the touch screen module ADS7846 can also measure the system power supply battery voltage, chip temperature, touch pressure and external analog quantity. The core of ADS7846 is a 12-bit successive approximation A/D converter. The internal 6-to-1 analog multiplexer, based on the control word from the microcontroller, sends one of the following to the A/D converter: X+, Y+, Y-, VBAT (battery voltage), TEMP (temperature), or AUXIN (external analog signal). The ADS7846 can provide an internal reference voltage of 2.5V for A/D conversion and also supports external reference voltage input from the VREF pin. The ADS7846 connects to the microcontroller via a standard SPI interface, requiring three SPI transmissions for a single communication. For example, in coordinate measurement, the microcontroller first sends a read coordinate command according to the control word format. Upon receiving the command, the ADS7846 simultaneously performs the corresponding coordinate measurement and A/D conversion. Then, the microcontroller initiates two SPI reads to obtain the coordinate values: the first read retrieves the first 7 bits, and the second retrieves the last 5 bits. The ADS7846 also includes a touch recognition circuit. When a touch is detected, this circuit outputs a low-level signal called PENIRQ# (pen interrupt), which the microcontroller can use as an interrupt request signal for the ADS7846. When there is no touch, PENIRQ# is output high by an external pull-up resistor. After the pen interrupt goes low, the MMC2107 detects this signal and issues a start transition command. During the transition, the MMC2107 must keep the pen interrupt low. 5. Summary of Innovations The innovation of this paper lies in the organic combination of various microcontrollers and embedded microkernel real-time operating systems to develop an embedded development platform. Based on this, the development cycle of application systems can be greatly shortened, system development costs reduced, and system development risks lowered. At the same time, it can meet the functional, reliability, cost, and size requirements of application systems, and has broad application prospects in future mobile computer platforms, information appliances, wireless communication equipment, and industrial/commercial control fields.
Read next

CATDOLL 146CM Ya TPE (Customer Photos)

Height: 146cm A-cup Weight: 26kg Shoulder Width: 32cm Bust/Waist/Hip: 64/54/74cm Oral Depth: 3-5cm Vaginal Depth: 3-15c...

Articles 2026-02-22