USB port found a new home and settled in embedded system
people who have installed PC know that universal serial interface (USB) has similar performance to plug and play. Therefore, transplanting USB port to embedded system is a convenient way to control external devices. After all, USB has only two signal lines and two power connection lines. It won't be difficult to design a USB port. This task is simple to say, but it has many difficulties for designers. However, suppliers can provide all help from boards to software
the easiest way to add a USB port to an embedded system is to use a Windows based computer. Many single board computers (Figure 1) provide built-in USB ports and run Windows software. Many USB peripherals are equipped with readily available Windows drives. When you need to adopt real-time operating system (RTOS), the task will become difficult. Several companies provide chips and software that can simplify the design of USB ports, and can also obtain intellectual property (IP) licenses to add ports to on-chip systems
Figure 1 single board computers such as ebc-c3plus provide built-in USB master port
usb devices can play the dual role of master or peripheral. Peripherals do not need to be too intelligent, but the main USB port requires processing power and control software. USB (OTG) specification allows some peripherals to have limited master functions, so that USB devices can realize communication without PC based master
the latest standard (USB 2.0) provides bus speeds of 1.5mbit/s (low speed), 12mbit/s (full speed) and 480mbit/s (high speed). Unfortunately, many users believe that devices marked with "USB 2.0" have been working at 480mbit/s. But many devices that follow USB 2.0 work at slower transfer rates
when planning an embedded application, you need to know exactly what USB device to use - printer, mass storage unit or i/o controller. Then, decide how many ports you need, whether you need master, peripherals, or both. Most embedded applications do not need peripheral ports
when evaluating port configuration, you should decide your data rate requirements. For example, although an application can transmit data at an average rate of 10mbit/s, it may also need to transmit burst data at a higher rate. Remember, to realize data transmission with higher liquid nitrogen cooling of the impact spline, you need to use a larger buffer at both ends of the USB connection. You may need to reduce the performance requirements slightly to reduce the expensive buffer required by the design
if you are not sure about the data rate, you can buy a development board from the USB master chip manufacturer, and then simulate your application on PC. The main chip suppliers include transdimensions, Cypress Semiconductor, NEC and Philips semiconductor. Taking transdimension as an example, it provides 2-port and 3-port master chips and software. In addition, many companies also sell chips as USB peripheral controllers
there are many kinds of supporting software for the main controller chip, from the windows based driver supporting Philips isp1561 to a variety of RTOS software supporting transdimension devices. Cypress provides Linux and VxWorks drives for EZ master IC. All USB master ports need a "stack", which simply means the hierarchical arrangement of software, as shown in Figure 2. Each layer forms a structure from the bottom physical layer (wiring and chip) to the top application software layer
The international influence of plastic extruder industry continues to riseFigure 2 USB stack
in the physical layer, chip and IP manufacturers have adopted standard software interface connections, which can simplify the use of master controllers in embedded design. In this way, the stack often follows the following standards: open main controller interface (OHCI), universal main controller interface (UHCI), or the updated enhanced main controller interface EHCI developed for USB2.0 specification. These specifications describe the register level operations used by the main controller. Through the adoption of these standards, chip manufacturers provide a common interface for driver software. OHCI, UHCI and EHCI specifications define the interoperability between the main controller registers and the driver software
usually, the hardware abstraction layer, or packaging layer, shields the stack and driver from the specific implementation details of a specific microprocessor. The designer can obtain the source code of the packaging layer, so it can be modified to adapt to the specific microprocessor and RTOS selected. If you don't want to understand the software details of this layer, you can customize and develop the packaging layer by the supplier. You may find that using compatible microprocessors, stacks, RTOS and USB host controllers when starting a project will make development easier
in addition to the stack, developers will also need to control the drivers of peripherals. Although windows, Windows CE and Linux can call a wide variety of drivers for a variety of peripherals, you will still find that other operating systems do not provide the same variety of options. IC manufacturers provide USB level drivers, which can provide the smallest set of functions required to control similar devices. Various devices include printers, cameras, man-machine interfaces, mass storage devices, communication devices, etc. For example, the driver of printer class can know the status of printer, printer initialization, send and receive printer data, and printer reset
in this way, you are likely to find a printer driver that works with specific RTOS and processors. However, printer manufacturers can obtain more powerful drives on the basis of these drives, which are often referred to as similar software libraries. However, if you plan to control a customized i/o device, you should also prepare to write your own drive
although a PC can store hundreds of USB device drivers whether users need them or not, embedded systems do not have such flexibility. Therefore, you may only use peripherals that ensure that they work with your system. Because the disk space of many embedded applications is limited, there are only drives equipped with several common devices. Remember, if you can't determine the device connected to the embedded system, you won't get a good design. When you consider the software and drive, please specify the specific situation of the device communicating with the USB port
in some cases, the demand for small-size, high reliability or mass-produced devices will "squeeze" an embedded system from a circuit board into a chip. Therefore, engineers must obtain the license of intellectual property rights and integrate them into ASIC or FPGA. Several companies provide USB master controllers in the form of IP. Mentor graphics provides a full speed USB controller inventra, which can be used as a master or peripheral. Synopsys company provides designware core, which has various types of USB ports. Finally, arc offers licenses for several USB designs. Each company provides its USB core in the form of VHDL or Verilog code
fortunately, USB core has standard hardware interface. For example, arc company developed advanced high-speed bus (AHB) for its microprocessor, which can be used for many other processor cores. IP manufacturers can also support the peripheral virtual component interface (pvci) standard developed by the virtual socket interface alliance, relying on the powerful media resources of Jung group. If you decide to license USB IP, make sure it is suitable for the chosen RTOS. During the risi Asia Pacific sanitary products industry forum, the IP license factory can provide a series of compatible software products and development tools. In addition, IP manufacturers can provide help in software. (end)
Copyright © 2011 JIN SHI