The primary target audience of the USB08 Reference Design consists of developers focused on microcontroller firmware and hardware, as well as those dealing with Windows driver and application software issues. USB (Universal Serial Bus) serves as a standardized bus interface for connecting peripheral devices to a host computer. Since the built-in USB support in Windows 98 and Windows 2000, USB has been included in nearly all new Windows-based PCs. The USB specification, maintained by USB.org, defines the bus system from the electrical interface to the higher protocol layers, ensuring interoperability among various devices. A user-friendly operation is the most critical requirement for USB devices. Multiple versions of the USB specification exist, and the USB08 Reference Design is based on the established USB Specification Revision 1.1. The microcontroller utilized in the USB08 Reference Design is the HC908JB8 (specifically: MC68HC908JB8ADW), which is a low-cost 8-bit microcontroller from Motorola, part of the HC08 family, widely used globally. In addition to having an integrated USB interface, the JB8 includes 8KB of internal Flash memory that is in-system programmable and erasable. Additional information about the HC908JB8 can be found on the Motorola Microcontroller website, along with the CPU08 Reference Manual and the MC68HC908JB8 Technical Data Book. The schematic diagram of the USB08 evaluation board, along with a bill of materials and circuit description, is included in the USB08 Designer Reference Manual. Two communication methods are implemented in the demonstration: RS232 and USB, allowing developers familiar with RS232 to transition to USB easily. The USB firmware is stored in the Flash memory of the HC08 microcontroller, with source codes for the original version 1.00 for the Cosmic HC08 Compiler provided in the USB08 Designer Reference Manual, which also includes descriptions of all source modules. It is important to note that the maintainer of this site cannot address inquiries regarding the CodeWarrior port; questions related to compiler-specific issues should be directed to a Metrowerks representative. The demonstration application was developed using Inprise/Borland C++ Builder (BCB) V5, and both source and precompiled executable files are available. The demo application is compatible with Windows 98/ME and Windows 2000. Modifications for other RAD tools should be straightforward since most of the host-side work is managed by the device driver. From an application perspective, communication with a USB08 device is simply a matter of file I/O. Reports indicate that the demo application does not function when compiled with V6 using default compiler settings. To resolve this, the data alignment in BCB6 can be adjusted from Quad Word to Byte under the Project/Options/Advanced Compiler menu, allowing the program to compile and operate correctly. A change in the data alignment mechanism in BCB6 appears to have caused a failure in a Win32 API function call within the USB driver software, despite adherence to Microsoft's recommendations. This issue may be a bug in BCB6 that could be rectified in future updates. USB data can be transmitted through multiple software layers of the HID (Human Interface Device Class) mechanism built into Windows, or a specialized device driver can be employed to establish a direct communications channel. The USB08 project opts for the latter approach, simplifying requirements on both the firmware and host PC sides. The device driver for the USB08 project is sourced from Thesycon, a company specializing in high-speed driver technology, which offers a universal high-performance USB device driver known as USBIO. The driver software for the USB08 project was derived from the original.
The USB08 Reference Design is a comprehensive platform aimed at facilitating the development of USB-enabled applications. It provides a robust framework for both hardware and software developers, ensuring compatibility with a wide range of USB devices. The design leverages the HC908JB8 microcontroller, which is notable for its low cost and extensive programmability features, making it an ideal choice for embedded systems requiring USB connectivity. The integration of RS232 alongside USB communication methods enhances versatility, allowing for easier transitions for developers accustomed to traditional serial communication protocols.
The USB08 project emphasizes ease of use, particularly in the context of interfacing with Windows operating systems. By utilizing a specialized device driver, it abstracts many complexities associated with USB communications, enabling developers to focus on application logic rather than low-level USB protocol intricacies. The inclusion of detailed documentation, such as the USB08 Designer Reference Manual, ensures that developers have access to essential resources, including source code examples and circuit schematics, to support their development efforts.
Furthermore, the USB08 Reference Design is adaptable for various development environments, with considerations for modifications to accommodate different RAD tools. This flexibility, coupled with the availability of both source and precompiled software, provides a comprehensive solution for developing USB applications. The emphasis on maintaining industry standards through adherence to the USB specification guarantees that devices built on this platform will be interoperable with a wide array of USB peripherals, thereby enhancing the overall user experience and broadening the potential application scope.Though the primary target audience of the USB08 Reference Design are Developers of Mikrocontroller Firmware and Hardware, Windows Driver and Application Software issues are also covered by the USB08 Project. USB (Universal Serial Bus) is a standardized bus interface to connect peripheral devices to a Host Computer.
Since the build-in USB support o f Win98/Win2k, USB has become available on nearly every new (Windows-based) PC. The USB specification is an industry standard maintained by USB. org, which exactly defines this bus system beginning with the electrical interface up to the higher protocol layers to guarantee the inter-operability of all the different devices. A simple way of handling is the most important requirement for USB devices from the view of the user.
Several versions of the USB specification exist. The USB08 Reference Design is based on the already established USB Specification Revision 1. 1 (local copy). The HC908JB8 (more precisly: MC68HC908JB8ADW) is the Microcontroller used for the USB08 Deference Design. It is a low-cost 8-Bit Mikrocontroller from Motorola. It belongs to the HC08 family, one of the most popular microcontroller families used worldwide. Despite the integrated USB interface, the `JB8 has 8KByte internal Flash Memory, which is in-system programmable and erasable.
More information about the HC908JB8 can be found on the Motorola Microcontroller Website. Check out the CPU08 Reference Manual, the MC68HC908JB8 Technical Data Book (local copies). Check out the Schematic Diagram of the USB08 Eval Board. A bill of materials as well as the circuit description are included in the USB08 Designer Reference Manual. Two ways of communication are implemented in the demonstration: RS232 and USB. Therefore, a developer experienced with RS232 communication will be able to migrate to USB easily. The USB firmware resides in the Flash Memory of the HC08 microcontroller. The source codes of the original version 1. 00 for Cosmic HC08 Compiler are reproduced in the USB08 Designer Reference Manual. A description of all source modules is also included in this document. Please note: the maintainer of this site is not able to answer any questions about the Codewarrior port, please contact a Metrowerks representative in case of any compiler specific issues.
The Demo was written using Inprise/Borland C+-Builder (BCB) V5. Both source as well as precompiled executable files are available. The Demo Application is running under Windows 98/ME and 2000. Modification for other RAD tools should be quite simple, since most of the work on the host side is done by the Device Driver (see below). From the view of an application, communication with an USB08 Device is just simple file-I/O! It was reported, that the demo app will not run if compiled with V6 and compiler default settings. You can get the project running by going to the BCB6 Menu Project/Options/Advanced_Compiler and changing the the Data Alignment from Quad Word to Byte.
The program should compile and work fine now. Borland have obviously changed the data alignment mechanism in BCB6 which makes a Win32 API funcion call within the USB driver software fail (although exactly used as recommended by Microsoft). This might be a bug in BCB6 which might be corrected in a later version / update. You can tunnel your USB data through several software layers of the HID (Human Interface Device Class) mechanism, which is already build into Windows, or you may use a specialized device driver, which implements a direct communications channel.
USB08 does the latter, and as a result, it simplifies requirements both on the firmware side as well as on the host PC side. The Device driver for the USB08 project comes from Thesycon, a company specialized in high speed driver technology.
Thesycon offers a universal high performance USB Device Driver called USBIO. The driver software for the USB08 project was derived from the original 🔗 External reference
The overall performance of any RF circuit regarding its phase noise and spectral purity depends significantly on the frequency-generating circuitry, commonly an oscillator. Low noise oscillators with high spectral purity are neither mysterious nor magical. Many individuals perceive the...
Design a low-cost 4- to 20-mA receiver circuit for control loops using an analog-to-digital converter (ADC).
The design of a low-cost 4- to 20-mA receiver circuit is essential in industrial applications for monitoring and controlling processes. This current loop standard...
Build an interface board to connect scientific equipment, specifically a pair of photovoltaic tubes, to a personal computer for acquiring measurement results. The signal properties include two channels with a common ground, a one-second acquisition time, and a maximum...
The FT8U232AM requires a small number of external components to produce a device that converts USB to TTL level RS232 signals. All that is needed is a TTL to RS232 converter to provide the 12V RS232 logic levels. The...
The TEA5551T monolithic integrated radio circuit can be utilized to design an AM radio receiver, intended for use as a portable radio receiver with headphones. The TEA5551T radio receiver circuit encompasses all necessary components for a complete AM receiver,...
This topic continues from the more general Passive Tone Control circuit, which begins using only passive filters. This circuit follows the previous design, although the component values are different and in an alternate configuration. An audio tone control combines...
We use cookies to enhance your experience, analyze traffic, and serve personalized ads.
By clicking "Accept", you agree to our use of cookies.
Learn more