Hi, I'm a student and my project for my course of Microcontrollers is to connect M68HC11 to USB interface. I would be very grateful for any help ( link, project, etc.) or suggestion you can offer. Thank you. Sincerely, Cristian. --------------------------------- |
|
M68HC11 interface to USB
Started by ●April 29, 2004
Reply by ●April 29, 20042004-04-29
A trivially simple solution (which I would only give you a 'C' for
if I was a professor) is just hook up the SCI rx and tx to one of those FTDI rs232 to usb converter chips. |
Reply by ●April 30, 20042004-04-30
--- In , CRISTIAN PATITOIU <cristinp2002@y...> wrote: > I'm a student and my project for my course of Microcontrollers is > to connect M68HC11 to USB interface. I would be very grateful for > any help ( link, project, etc.) or suggestion you can offer. Thank > you. Has the course instructor provided you with any ideas on how to approach this project? In particular, did he provide you with any suggestions regarding USB interface ICs to use in conjunction with the HC11? Since none of the available HC11 variants provide on-chip USB functionality, you will have to use some sort of external device to provide it. You might want to take a look at this site: http://www.semiconductors.philips.com/buses/usb/ Phillips has several microcontroller/microprocessor compatible peripheral ICs in their product line that provide USB functionality. Having briefly looked at the site above, my initial guess would be that the PDIUSB12 device would be a good part to look at first. This device uses a parallel bus that appears to be compatible with the HC11 (external) address/data bus. The bad news is that this part appears to only be available in a surface mount package (TSOP) so it may be kind of difficult to prototype with this device unless you can find a suitable TSOP-to-DIP adapter. Unfortunately, there do not appear to be any serial-bus-interfaced USB peripherals on the market, at least none that are not in "end-of- life" status. The Phillips PDIUSB11 (I2C) and National USBN9602 (SPI/Microwire) devices fall into this category. The best solution for USB-enabled devices is, IMO, to use a microcontroller with USB functionality built in. Unfortunately, there are no HC11 devices on the market that incorporate USB functionality. The few HC08 devices that provide USB capability are, in my opinion anyway, very poor implementations. ST Micro has several devices in their ST7 and ST9 microcontroller families that incorporate decent USB functionality. I have used the ST72631 device in the past - it is only 'low speed', but its USB core is very well thought out, and the ST7 instruction set is not too bad (roughly equivalent to the HC08). Cypress Semiconductor makes the EZ-USB line of 8051-core-based (yuk!) devices that are very easy to work with. The 8051 core is not very pleasant to work with, but the USB implementation and on-chip USB firmware support, RAM-based program storage, and USB-based firmware loader and provided host USB driver support make this device one of the better USB microcontroller solutions available. Finally, I *think* that some of the newer generation Atmel AVR devices have USB functionality, but I have not researched this. Whatever solution you come up with, I think you will find that working with USB, on both the device-side and host-side, will be a considerable challenge. The USB specification is large and quite detailed, but not particularily well written, and is totally lacking in 'real world' practical examples and tutorials. It took me quite some time and a lot of 'trial and error' to reach a level of comprehension sufficient to design working USB firmware. And if that is not bad enough, coming up with host-side drivers (at least for Windows) is by all accounts a Black Art. I have seen NO *comprehensible* tutorials, books, or technical information on this subject ANYWHERE. Mac OSX does provide a semi-rational USB/device API that is usable in both 'userland' (application environment) as well as in a kernel/device-driver environment. I was able to write a OSX app that would communicate with a custom USB device I built (ST7-based) after careful study of the code examples that Apple provided. Interestingly enough, one of the code examples demonstrates how to upload object code a Cypress EZ-USB device. If you need help with your project, let me know. I won't write the code for you, but I can provide advice and can probably answer questions you might have regarding USB protocols. |
Reply by ●April 30, 20042004-04-30
The bad news > is that this part appears to only be available in a surface mount > package (TSOP) so it may be kind of difficult to prototype with this > device unless you can find a suitable TSOP-to-DIP adapter. > Yes, this is getting to be a real PITA with a lot of new chips. See Aries Electronics and Ironwood for possible solutions. Digikey carries some of their parts so you can start a www.digikey.com and, if nothing, else find links to their web sites. Perhaps a good USB interface for the HC11 would be a HC08 or HC12 equipped with a USB port. Bob Smith --- Avoid computer viruses, Practice safe hex --- -- Specializing in small, cost effective embedded control systems -- http://www.smithmachineworks.com/embedprod.html Robert L. (Bob) Smith Smith Machine Works, Inc. 9900 Lumlay Road Richmond, VA 23236 804/745-2608 ----- Original Message ----- From: "Mark Schultz" <> To: <> Sent: Friday, April 30, 2004 4:04 PM Subject: [m68HC11] Re: M68HC11 interface to USB > --- In , CRISTIAN PATITOIU > <cristinp2002@y...> wrote: > > > I'm a student and my project for my course of Microcontrollers is > > to connect M68HC11 to USB interface. I would be very grateful for > > any help ( link, project, etc.) or suggestion you can offer. Thank > > you. > > Has the course instructor provided you with any ideas on how to > approach this project? In particular, did he provide you with any > suggestions regarding USB interface ICs to use in conjunction with > the HC11? Since none of the available HC11 variants provide on-chip > USB functionality, you will have to use some sort of external device > to provide it. > > You might want to take a look at this site: > > http://www.semiconductors.philips.com/buses/usb/ > > Phillips has several microcontroller/microprocessor compatible > peripheral ICs in their product line that provide USB > functionality. Having briefly looked at the site above, my initial > guess would be that the PDIUSB12 device would be a good part to look > at first. This device uses a parallel bus that appears to be > compatible with the HC11 (external) address/data bus. The bad news > is that this part appears to only be available in a surface mount > package (TSOP) so it may be kind of difficult to prototype with this > device unless you can find a suitable TSOP-to-DIP adapter. > > Unfortunately, there do not appear to be any serial-bus-interfaced > USB peripherals on the market, at least none that are not in "end-of- > life" status. The Phillips PDIUSB11 (I2C) and National USBN9602 > (SPI/Microwire) devices fall into this category. > > The best solution for USB-enabled devices is, IMO, to use a > microcontroller with USB functionality built in. Unfortunately, > there are no HC11 devices on the market that incorporate USB > functionality. The few HC08 devices that provide USB capability > are, in my opinion anyway, very poor implementations. ST Micro has > several devices in their ST7 and ST9 microcontroller families that > incorporate decent USB functionality. I have used the ST72631 > device in the past - it is only 'low speed', but its USB core is > very well thought out, and the ST7 instruction set is not too bad > (roughly equivalent to the HC08). Cypress Semiconductor makes the > EZ-USB line of 8051-core-based (yuk!) devices that are very easy to > work with. The 8051 core is not very pleasant to work with, but the > USB implementation and on-chip USB firmware support, RAM-based > program storage, and USB-based firmware loader and provided host USB > driver support make this device one of the better USB > microcontroller solutions available. Finally, I *think* that some > of the newer generation Atmel AVR devices have USB functionality, > but I have not researched this. > > Whatever solution you come up with, I think you will find that > working with USB, on both the device-side and host-side, will be a > considerable challenge. The USB specification is large and quite > detailed, but not particularily well written, and is totally lacking > in 'real world' practical examples and tutorials. It took me quite > some time and a lot of 'trial and error' to reach a level of > comprehension sufficient to design working USB firmware. And if > that is not bad enough, coming up with host-side drivers (at least > for Windows) is by all accounts a Black Art. I have seen NO > *comprehensible* tutorials, books, or technical information on this > subject ANYWHERE. Mac OSX does provide a semi-rational USB/device > API that is usable in both 'userland' (application environment) as > well as in a kernel/device-driver environment. I was able to write > a OSX app that would communicate with a custom USB device I built > (ST7-based) after careful study of the code examples that Apple > provided. Interestingly enough, one of the code examples > demonstrates how to upload object code a Cypress EZ-USB device. > > If you need help with your project, let me know. I won't write the > code for you, but I can provide advice and can probably answer > questions you might have regarding USB protocols. > > > -- ------ > Yahoo! Groups Links > > a.. To |
|
Reply by ●May 1, 20042004-05-01
Thank you Bob Gardner, Mark Schultz and Bob Smith for replying to my email.
I know everyone's time is short and appreciate you willingness to help. I
admit that I'm a beginner in microcontroller design and this project seems
to me very hard to finish. I have a lot of projects to finish in a month and a
half, therefore I must make a compromise between learning something new and
having my projects done. The most of what you had wrote is fairly new information for me, but as soon as I'll start to document seriosly on this projects I hope my questions will start to pop. Yes, you're right, I'm allowed to connect the HC11 to USB with its own resources or through another microcontroller who provides a more suitable USB interface. I must provide hardware schematics and code. Thank you again. Cristian Patitoiu Politechnic University from Timisoara, Romania. Automation and Computers Faculty. Bob Smith <> wrote: The bad news > is that this part appears to only be available in a surface mount > package (TSOP) so it may be kind of difficult to prototype with this > device unless you can find a suitable TSOP-to-DIP adapter. > Yes, this is getting to be a real PITA with a lot of new chips. See Aries Electronics and Ironwood for possible solutions. Digikey carries some of their parts so you can start a www.digikey.com and, if nothing, else find links to their web sites. Perhaps a good USB interface for the HC11 would be a HC08 or HC12 equipped with a USB port. Bob Smith --- Avoid computer viruses, Practice safe hex --- -- Specializing in small, cost effective embedded control systems -- http://www.smithmachineworks.com/embedprod.html Robert L. (Bob) Smith Smith Machine Works, Inc. 9900 Lumlay Road Richmond, VA 23236 804/745-2608 ----- Original Message ----- From: "Mark Schultz" <> To: <> Sent: Friday, April 30, 2004 4:04 PM Subject: [m68HC11] Re: M68HC11 interface to USB > --- In , CRISTIAN PATITOIU > <cristinp2002@y...> wrote: > > > I'm a student and my project for my course of Microcontrollers is > > to connect M68HC11 to USB interface. I would be very grateful for > > any help ( link, project, etc.) or suggestion you can offer. Thank > > you. > > Has the course instructor provided you with any ideas on how to > approach this project? In particular, did he provide you with any > suggestions regarding USB interface ICs to use in conjunction with > the HC11? Since none of the available HC11 variants provide on-chip > USB functionality, you will have to use some sort of external device > to provide it. > > You might want to take a look at this site: > > http://www.semiconductors.philips.com/buses/usb/ > > Phillips has several microcontroller/microprocessor compatible > peripheral ICs in their product line that provide USB > functionality. Having briefly looked at the site above, my initial > guess would be that the PDIUSB12 device would be a good part to look > at first. This device uses a parallel bus that appears to be > compatible with the HC11 (external) address/data bus. The bad news > is that this part appears to only be available in a surface mount > package (TSOP) so it may be kind of difficult to prototype with this > device unless you can find a suitable TSOP-to-DIP adapter. > > Unfortunately, there do not appear to be any serial-bus-interfaced > USB peripherals on the market, at least none that are not in "end-of- > life" status. The Phillips PDIUSB11 (I2C) and National USBN9602 > (SPI/Microwire) devices fall into this category. > > The best solution for USB-enabled devices is, IMO, to use a > microcontroller with USB functionality built in. Unfortunately, > there are no HC11 devices on the market that incorporate USB > functionality. The few HC08 devices that provide USB capability > are, in my opinion anyway, very poor implementations. ST Micro has > several devices in their ST7 and ST9 microcontroller families that > incorporate decent USB functionality. I have used the ST72631 > device in the past - it is only 'low speed', but its USB core is > very well thought out, and the ST7 instruction set is not too bad > (roughly equivalent to the HC08). Cypress Semiconductor makes the > EZ-USB line of 8051-core-based (yuk!) devices that are very easy to > work with. The 8051 core is not very pleasant to work with, but the > USB implementation and on-chip USB firmware support, RAM-based > program storage, and USB-based firmware loader and provided host USB > driver support make this device one of the better USB > microcontroller solutions available. Finally, I *think* that some > of the newer generation Atmel AVR devices have USB functionality, > but I have not researched this. > > Whatever solution you come up with, I think you will find that > working with USB, on both the device-side and host-side, will be a > considerable challenge. The USB specification is large and quite > detailed, but not particularily well written, and is totally lacking > in 'real world' practical examples and tutorials. It took me quite > some time and a lot of 'trial and error' to reach a level of > comprehension sufficient to design working USB firmware. And if > that is not bad enough, coming up with host-side drivers (at least > for Windows) is by all accounts a Black Art. I have seen NO > *comprehensible* tutorials, books, or technical information on this > subject ANYWHERE. Mac OSX does provide a semi-rational USB/device > API that is usable in both 'userland' (application environment) as > well as in a kernel/device-driver environment. I was able to write > a OSX app that would communicate with a custom USB device I built > (ST7-based) after careful study of the code examples that Apple > provided. Interestingly enough, one of the code examples > demonstrates how to upload object code a Cypress EZ-USB device. > > If you need help with your project, let me know. I won't write the > code for you, but I can provide advice and can probably answer > questions you might have regarding USB protocols. > > > -- ------ > Yahoo! Groups Links > > a.. To --------------------------------- Yahoo! Groups Links To --------------------------------- |
Reply by ●May 1, 20042004-05-01
--- In , "Bob Smith" <bobsmith5@v...> wrote: > Perhaps a good USB interface for the HC11 would be a HC08 or HC12 > equipped with a USB port. I have not looked recently at Mot's HC12 offerings, so I do not know what the HC12 USB core (assuming one exists) looks like, but I have taken a look at the HC08 USB core, and was not impressed - at least not on the particular device I was looking at (I don't recall the part number offhand). The most glaring deficiency I saw was that all of the endpoints shared a SINGLE, COMMON 8-byte buffer. This complicates the firmware for a multi-endpoint implementation considerably. I do not recall offhand what the other deficiencies were, but I do remember mentally comparing the feature-set of the HC08 USB core with the ST7 USB core that I was familiar with and concluding to myself that the HC08 core was rather inferior in comparison. By way of comparison, the ST72631 USB core (ST7) has separate receive and transmit buffers for EACH endpoint. Furthermore, within some limitations, these buffers can be placed at any $40 page in the ST7 address space. The endpoint addresses for two of the three available endpoints are software configurable (the default control endpoint has a fixed $00 address). Each endpoint (except the control endpoint) can be set for either interrupt-in, interrupt-out or control transfer mode (bulk and isochronous modes are not available on a low-speed device). The ST7 USB subsystem can generate up to 8 different interrupt events for various USB states (such as remote wakeup, powerdown mode, sync reception, endpoint activity, etc.). It will also auto-NAK any endpoint that has not been serviced by software, which pretty much guarantees that you will not 'miss' a packet. It is a very solid implementation. Given the overall quality of the other HC08 subsystems, I am surprised (and disappointed) that Mot's HC08 USB subsystem was implemented so poorly. |