larsie 121 Posted April 11, 2012 Share Posted April 11, 2012 Is there an MSP430 which has embedded USB support? Quote Link to post Share on other sites
TomKraut 17 Posted April 11, 2012 Share Posted April 11, 2012 Sure. They are in the F5x and F6x series. http://www.ti.com/lsds/ti/microcontroll ... earch.page http://www.ti.com/mcu/docs/mcuorphan.ts ... +OT+430usb ;-) Cheers TomKraut Quote Link to post Share on other sites
larsie 121 Posted April 11, 2012 Author Share Posted April 11, 2012 Thanks... hmm. No easy-solder packages... Anyone done coding for these? Are they easy to implement for example a usb-based serial interface for? Quote Link to post Share on other sites
TomKraut 17 Posted April 11, 2012 Share Posted April 11, 2012 With the example code from TI there is basically nothing more to do for a serial interface but implementing a handler to process the received characters. You have a serial interface running in less than 30 minutes. However, if the only thing you need is a serial-to-usb type of connection, I would go for an FTDI FT232R. There are SSOP packages available, and the PC drivers are easier to handle and especially to distribute. If this is a project you are not only doing for yourself, the Windows drivers with WHQL certificates are invaluable (asking your customer to ignore a driver warning is just unprofessional...). The higher cost for the extra IC is somewhat mitigated by the fact that you can use a Value Line MSP (if it is enough for whatever you are doing) and that you don't necessarily need a crystal oscillator. We did an in-house project which required USB with an F5510 to get a feel for it, and our conclusion was, that there is no real benefit as long as you just need something a little more modern than an RS232 cable ;-) Cheers TomKraut Quote Link to post Share on other sites
gordon 229 Posted April 11, 2012 Share Posted April 11, 2012 No easy-solder packages... LQFP is literally breeze to solder even with a heated copper rod. You are afraid only until you try it . I can pretty much guarantee you can't even push DIP20 legs in their holes by the time I finish soldering an LQFP100, and you can't even begin to imagine how shaky my hands are and how bad my eyesight is. Just try it. Quote Link to post Share on other sites
larsie 121 Posted April 11, 2012 Author Share Posted April 11, 2012 OK I will try. You just use the solder tip + flux... no fancy solder paste etc? Quote Link to post Share on other sites
gordon 229 Posted April 11, 2012 Share Posted April 11, 2012 Clean solder tip, clean board, and copious amounts of flux. Watch a couple of videos (I like John Gammell's stuff, but there are plenty) to get the feeling, it really is that easy. Dougster 1 Quote Link to post Share on other sites
jpnorair 340 Posted April 27, 2012 Share Posted April 27, 2012 Soldering the package might be a breeze, but getting the USB working can be difficult. TI has a Windows-based configurator program that can dump out a mostly-working driver to your specifications, but I've found the CDC (i.e. virtual COM port) to be a giant pain to implement. In my tests, sometimes it works, sometimes it doesn't -- although I will admit that the USB port is hooked up to a Linux host, which has not been TI's forte in past USB device driver attempts. When it doesn't work, it will also crash your firmware because it will get stuck in a Suspend-Reset loop. I'm hoping that it's something I'm doing wrong, but, in any case, I'd recommend HID over CDC if you can manage that. larsie 1 Quote Link to post Share on other sites
touch 34 Posted April 29, 2012 Share Posted April 29, 2012 I've been thinking of trying to port V-USB to the MSP430. So we could have USB via Software. Can't stand the virtual COM port's myself, half the time they work half the time they don't. Would love to try something else in interfacing with a computer. Serial just is a lot of trouble. Quote Link to post Share on other sites
SugarAddict 227 Posted April 29, 2012 Share Posted April 29, 2012 I've not had any trouble with my 5529 and usb stuff... and yes, LQFP is a breeze to solder. I use a small tip (900M-T-I) almost exclusively, works like a charm. larsie 1 Quote Link to post Share on other sites
jpnorair 340 Posted October 24, 2012 Share Posted October 24, 2012 To close the loop on this, some time ago I managed to get a generally stable & workable CDC-only implementation of the MSP430 USB firmware working. I've tested mostly on Mac & Linux. It's also trimmed-down to under 3.5KB, and I expect I could get it down to maybe 2.7KB if I really tried. The team that coded the MSP USB library has __atrocious__ coding style. The code is on GitHub as part of my OpenTag project. The platform is a 5509-based stick. bluehash and larsie 2 Quote Link to post Share on other sites
jsolarski-backup 22 Posted October 24, 2012 Share Posted October 24, 2012 can you post a link to your project, Right now I am working on porting over usb dev API to mspgcc (cdc, hid, msc) and I would like to see what you did Quote Link to post Share on other sites
jazz 209 Posted October 24, 2012 Share Posted October 24, 2012 To close the loop on this, some time ago I managed to get a generally stable & workable CDC-only implementation of the MSP430 USB firmware working. I've tested mostly on Mac & Linux. It's also trimmed-down to under 3.5KB, and I expect I could get it down to maybe 2.7KB if I really tried. The team that coded the MSP USB library has __atrocious__ coding style. The code is on GitHub as part of my OpenTag project. The platform is a 5509-based stick. I done my in assembler, stable & workable CDC, and it is under 2.7KB, on MSP430F5508. Unfortunately (under Win32) there is problem (can transfer only one packet per frame if the packet size is less than 64 bytes) with (original) usbser.sys, and now I am trying with winusb.sys. jpnorair 1 Quote Link to post Share on other sites
bluehash 1,581 Posted October 24, 2012 Share Posted October 24, 2012 This is big.. Please post your progress. Quote Link to post Share on other sites
jpnorair 340 Posted October 25, 2012 Share Posted October 25, 2012 I done my in assembler, stable & workable CDC, and it is under 2.7KB, on MSP430F5508. Unfortunately (under Win32) there is problem (can transfer only one packet per frame if the packet size is less than 64 bytes) with (original) usbser.sys, and now I am trying with winusb.sys. I don't understand exactly what you mean -- maybe it's the nomenclature you are using. A packet is fragmented into one or more frames. Therefore, a frame is part of a packet. - Do you mean that you cannot use packets smaller than 64 bytes? RX or TX? - Do you mean that you cannot use packets bigger than 64 bytes? RX or TX? If you understand this, and the issue is truly that you cannot transfer more than one packet per frame, there is no problem -- this is the way USB-CDC works. Also: Did you use the TI USB Library C code as a starting point, or did you do it from the beginning in assembly? If you used the TI USB library at all, I remember that I had to fix some bugs in the transfer management. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.