Hi,
I know SciLabs makes 8051s that have USB interfaces and (different) 8051s that have CAN interfaces, but does anyone know of a manufacturer who has an 8051 with CAN and USB on chip ?
Thanks,
Boo
Hi,
I know SciLabs makes 8051s that have USB interfaces and (different) 8051s that have CAN interfaces, but does anyone know of a manufacturer who has an 8051 with CAN and USB on chip ?
Thanks,
Boo
Does it /have/ to be an 8051?
My, that 8051 will be a busy l'il fellah....
-- Les Cargill
I think some of the ST ARM-Cortex parts have both USB and CAN, and the ARM Cortex part is the 8051 of the 21st century.
-- Tim Wescott Control system and signal processing consulting
Not that I know of but with SPI you add CAN (Microchip do quite a nice little chip) and/or USB (Maxim are the ones I know).
How about the Atmel AT89C51CC03. It has an inbuilt CAN controller, just add an interface such as
There is also an UART to which you could easily add a USB interface such as FTDI - FT232RL
No, but I have lots of experience with 8051s and know the SW tools and assembley language quite well. What were you thinking as an alterntive ?
Boo
Thanks for the heads up, I had a look and the STM32F10x devices look useful. One of the advantages for me of the 8051 is I have a tool chain available, can you tell me what free tools are available for the ARM Cortex ? This is a homer and unfortunately I don't have much money available...
Thanks,
Boo2
Consider external CAN, i.e. MCP2515.
Vladimir Vassilevsky DSP and Mixed Signal Design Consultant
Just about any other cpu core would be better than an 8051. 8051's are only popular through momentum - they are popular because they are popular. Other than that, they haven't been a good choice of core for
20 years.When working with USB and/or CAN, I'd prefer a core that runs faster than an arthritic snail and has more memory than a goldfish, and for which there are tools that can compile proper C code.
Not that I have strong feelings about the cores I use... :-)
gcc is one of the best compilers for Cortex, and is free. There are various paid-for (but typically low-cost) packaged and supported toolchains with gcc, IDE, debugger software, etc., or you can get ready-built free packages from various sources. (You can also build gcc yourself - but if you don't know of gcc in the first place, learning to build it is probably a bigger step than you want to take right now.)
Rowley licenses their full ARM suite available for personal use for $150 (the commercial license is $1500) and it's pretty much load and go. Not free but that's a pretty good price considering all that you get.
-- Rich Webb Norfolk, VA
Ah, you're probably not running a host side. I can see that being less intensive.
-- Les Cargill
In fact if you use the Cypress FX2 with its USB (as target) you can achieve tens of megabytes per second, sustained. We have a product that does it routinely. Not being "processed" of course.
I have noticed SPI clock rates to be quite arcane, depending on master or slave, clock dividers, and master clock frequency. This could be a factor is adding on CAN using something like the Microchip 2515 (or a Maxim USB part, for that matter).
Rgds, Bill
How about NXP LPC11C2x uC and free LPCxpresso compiler for up to 128 KiB download and debug size?
The PIC32MX575F256H has USB host mode, OTG and device mode as well as CAN The tool chain is nearly free (you need a programmer / debugger) and you can install and be up and running in an hour or so.
It is rather :)
that
51 withSure, Cypress in their PSoC3 family. They have a number of boards, at quite good prices.
I think the First Touch board uses a USB+CAN model - CY8C3866AXI-040
You might also want to look at TWO chips for this task -depends on how many you want to make.
ie Two 8051's or take a pre-spun USB-side solution.(UART or SPI)
I see Microchip have just released a USB-SPI variant, that is ~ $1.50/100+, for example. FTDI have highspeed USB at tolerable prices.
-jg
Watch out !
AFAIK Some STM32's have USB & CAN but they can't be enabled at the same time
CFO
Great parts and development tools, but no USB on LPC11Cxx...
To clarify this a little, STM32 configuration registers allow either a main function (typically GPIO) or an alternate function (e.g., UART, SPI, CAN, ...) to control the I/O circuitry at a given pin. On some devices the USB and CAN lines are both alternate functions on the same pin, so if both peripherals are enabled and if the pin is set to use the alternate function then they'll fight for control of the pin and Bad Things Happen.
From the datasheet: "If several peripherals share the same I/O pin, to avoid conflict between these alternate functions only one peripheral should be enabled at a time through the peripheral clock enable bit (in the corresponding RCC peripheral clock enable register)." I've got that highlighted and circled with big arrows pointing to it in the PDF. ;-)
Happily, an additional set of remap registers are supplied that can (usually) configure a conflicting peripheral to use a different pin, for example moving CANRX/TX from PA11/12 (where they're shared with USBDM/DP) over to port PD0/1, allowing both CAN and USB peripherals to be enabled and connected to port pins.
The scheme can be a little cumbersome and it certainly is possible to write one's self into a corner when trying to get a lot of peripherals and I/O set up.
-- Rich Webb Norfolk, VA
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.