CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

New Board with RS232, USB and Ethernet
Goto page 1, 2  Next
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
neo19



Joined: 14 Aug 2012
Posts: 30
Location: France

View user's profile Send private message

New Board with RS232, USB and Ethernet
PostPosted: Wed Aug 22, 2012 8:56 am     Reply with quote

Hello,

I have a new board to design:
On this board, I need:
- 2 x RS232
- USB
- Ethernet 10/100
- I²C
- 2xPWM
- Digital Input/Output
- Analog Input/Output

Do you think it's possible to do this with a PIC?

What do you think about it?

Best regards,

Fabrice
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Wed Aug 22, 2012 12:17 pm     Reply with quote

Use this Microchip Parts selector page to enter those parameters
and you can find PICs which will be suitable for your project:
http://www.microchip.com/maps/microcontroller.aspx

For example, first go to the Prefix menu, and limit the results to PIC18F
parts. Wait a moment for the screen to update. You must do that after
each new item is selected.

Then go to the line for USB channels, and select "1" in the left column.
Then go to UART channels, and select "2" in the left column.
Most PICs have all the other simple things that you listed.
The only thing not listed is Ethernet. But now you have a small list
of 18F PICs, and you can go to the Microchip Ethernet page and
choose a PIC that is in your list, and has Ethernet:
http://www.microchip.com/ParamChartSearch/Chart.aspx?branchID=121
neo19



Joined: 14 Aug 2012
Posts: 30
Location: France

View user's profile Send private message

PostPosted: Thu Aug 23, 2012 12:40 am     Reply with quote

Yes, I try the microchip part selector and find PIC32MX family.
I don't see that PIC32 is available with CCS compiler.

in case I have to change to compile, should not also switch to another manufacturer of microprocessor cards (arm,..)?
Ttelmah



Joined: 11 Mar 2010
Posts: 19553

View user's profile Send private message

PostPosted: Thu Aug 23, 2012 2:01 am     Reply with quote

PIC32 is available with CCS, provided you have the PCD compiler.

Entirely down to 'what you want'. The PIC, even in it's larger versions, tends to have the 'edge' when manufacturing in quantities, on price, against competing chips, but this reduces as you go for higher power. However if you are going for a product with so many interfaces, you have to then consider whether you might be better moving away from small embedded processors completely. Small 'linux' systems, offer the advantage of a full OS, doing an enormous amount of the 'housekeeping' for you, but bring the downside of having to write things like the I2C drivers in a more structured way. If you are handling (for example), a graphic display, TCP/IP, a FAT filesystem, etc., then such systems save enormously on the development time, and for small quantities bring little in the way of disadvantages.

Best Wishes
neo19



Joined: 14 Aug 2012
Posts: 30
Location: France

View user's profile Send private message

PostPosted: Thu Aug 23, 2012 2:35 am     Reply with quote

Our quantity is about 100 pieces of this board by a year.
The price at 150€-200€ is not a problem.
In my system I need a display too with touchscreen. To simplify the development, I choose an intelligent LCD display with touchscreen and I²C for interfacing.

I don't know if for 100 pieces by year an embedded processor will be better with linux system.
Ttelmah



Joined: 11 Mar 2010
Posts: 19553

View user's profile Send private message

PostPosted: Thu Aug 23, 2012 3:22 am     Reply with quote

It all depends on how complex the system needs to be?.
Now you make no mention of storing data?. SD card?. USB memory stick?.
The former can be driven easily from a PIC, but the latter gets complex, requiring a chip supporting USB 'OTG', and a lot of software. Alternatively, something like a FTDI Vinculum, which makes the software easy, but adds cost to the hardware.
Then display. Resolution, etc., and how complex the images want to be. As the picture gets more complex, the software goes up almost as the square of what you want to do. For a full graphic display, updating complex images quickly, a more powerful processor, and a graphic development library, reduce the amount of coding needed.
Then the physical mounting of the display and touchscreen. IP sealing?. The costs of how it is going to be fixed are part of the overall 'system' costs. If you look at assembled industrial systems, this is handled for you. May swing the economics.
Then the Ethernet. If you are just (for example), providing a FTP link to a local system, simple. But if you want to be providing a full 'webpage', with (for example) Java scripting, the work is rising. With an OS on the system, the basics of this are provided for you.
Then power. If you go DIY, how much will certification for your target markets cost?.

Now seriously, you can get something like the RaspBerry Pi computer, with a USB 7" touchscreen, for under $100 now. I2C drivers are available for this. There is a single 3.3v async serial on the board. Add a level translator to this, and a USB to RS232 converter, and you have everything you want already built, for less than you could put a processor board together for. You could be starting to develop software tomorrow, instead of having to go through hardware prototyping etc.. The only question would be the PWM. You can do low frequency PWM's using the GPIO pins and the heartbeat. Or you could use the audio output, which is (you guessed it), PWM based. However if you require a specific frequency, then it gets more complex.

Have a look at this board <http://nwlinux.com/allwinner-a10-cheaper-raspberry-pi/> except for the serials (easily provided via USB), has everything you want. Including both a USB host and slave port.

Just a thought.
bkamen



Joined: 07 Jan 2004
Posts: 1615
Location: Central Illinois, USA

View user's profile Send private message

PostPosted: Thu Aug 23, 2012 8:05 pm     Reply with quote

Ttelmah wrote:
PIC32 is available with CCS, provided you have the PCD compiler.


When did this happen?

I have PCD and no PIC32 .H's to be found.

PCD is for the PIC24/dsPIC30|33 parts - not the PIC32 (32bit) parts.

But the OP still needs to consider PIC32 for all that he wants.

-Ben
_________________
Dazed and confused? I don't think so. Just "plain lost" will do. :D
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Thu Aug 23, 2012 11:31 pm     Reply with quote

Quote:
When did this happen?

I guess in a parallel universe.

You can program PIC32 with the free Microchip C32 version. It's also shipped with the Microchip starter kits.
Rather than relying on other peoples advices, you may want to order the PIC32 Ethernet Starter Kit at microchip online
or your favourite catalog distributor (it's $72) and experience the look and feel of the processor and tool chain.

Then decide if you want to start on the adventure.
bkamen



Joined: 07 Jan 2004
Posts: 1615
Location: Central Illinois, USA

View user's profile Send private message

PostPosted: Fri Aug 24, 2012 12:00 am     Reply with quote

FvM wrote:
Quote:
When did this happen?

I guess in a parallel universe.


ha!! :D

Quote:

You can program PIC32 with the free Microchip C32 version. It's also shipped with the Microchip starter kits.



And get the book "See MIPS Run" -- as the PIC32 is actually a MIPS architecture core. I have the book here, it's worth while if you decide to dive into 32bit PICs.

-Ben
_________________
Dazed and confused? I don't think so. Just "plain lost" will do. :D
neo19



Joined: 14 Aug 2012
Posts: 30
Location: France

View user's profile Send private message

PostPosted: Fri Aug 24, 2012 12:53 am     Reply with quote

2 solutions are available for me:

To make my own card with a PIC32 or to buy a complete card like RaspBerry Pi computer and make another card to adapt my system on it.
It's not so easy to take a decision because after the work is therefore on the layout and the software.
I have to think about it.

On industrial embendded system, do you know other manufacturer which propose some development board like digi or anders
http://www.digi.com/products/model?mid=3402
http://www.andersdx.com/products/catalogue.aspx?op={3D2C096B-43FC-41EC-8945-D319D86F799A}
bkamen



Joined: 07 Jan 2004
Posts: 1615
Location: Central Illinois, USA

View user's profile Send private message

PostPosted: Fri Aug 24, 2012 1:19 am     Reply with quote

neo19 wrote:
2 solutions are available for me:

To make my own card with a PIC32 or to buy a complete card like RaspBerry Pi computer and make another card to adapt my system on it.
It's not so easy to take a decision because after the work is therefore on the layout and the software.
I have to think about it.

On industrial embendded system, do you know other manufacturer which propose some development board like digi or anders
http://www.digi.com/products/model?mid=3402
http://www.andersdx.com/products/catalogue.aspx?op={3D2C096B-43FC-41EC-8945-D319D86F799A}


I'm actually finishing up a project now using the Digi CC9M2443. It's nice module. Digi's support generally sucks. The documentation is a 5 on a scale of 1-10. Microchip and Intel have better documentation than samsung. Additionally, their user forum for the 2443 is virtually dead. Any questions I've asked have been way over anyone's head subscribed to the same topic... and there's only a handful of people using the 2443 if the activity is any indicator.

That said.. you have to decide where you want to spend your time and money. The big tradeoff is usually you either spend the time and the money and you design your own board and they're usually cheaper than buying someone else's modules ready to go.

however, if you want to build a handful and don't want to mess with all the low level stuff (like SCH/PCB and parts and so forth) -- then sometimes a module is the way to go. Only you can really decide that.

-Ben
_________________
Dazed and confused? I don't think so. Just "plain lost" will do. :D
Ttelmah



Joined: 11 Mar 2010
Posts: 19553

View user's profile Send private message

PostPosted: Fri Aug 24, 2012 1:47 am     Reply with quote

I must admit, I only play with the 12, 16, 18, 24, & 33 parts. When the poster said PIC32, I just pulled the Device table editor, and assumed if the part was listed there was at least some support. For some reason the editor lists PIC32MX320F032H through to PIC32MX795F512L parts. 30+ processors. Presumably some 'in the future' compiler version....

However I really have to suggest that you start to think about the cost of code, relative to the cost of the machine. Problem is that if you go the PIC route, you are basically going to have to write everything. Even if CCS did have support for the 32 family, I'd expect there to be significant bugs (as are still occurring with the 24/33 chips...). Without their libraries, every bit of the support code is going to have to be written or found. I'd guess that the programming time to develop a complete system based on a chip like this, would easily be perhaps 10* the time needed just to write the front end application, using an off the shelf module, with an OS, graphic library etc., all already written and tested. Difficult to know without knowing the exact application 'scale', but I'd be expecting the difference between perhaps a 'man month' of work, and a 'man year'. Now, given that the design life of a typical system is only a few years, this justifies spending quite a few dollars more per unit, on an off the shelf approach....

It is almost impossible to really work out the likely 'best route', without a lot better idea of:
1) Display size and complexity of what is to be shown.
2) The storage requirements.
3) The networking actually required.
4) Power supply to be used (mains, 24v etc.).
5) Special requirements (IP sealing etc.?).
6) You say 'USB', is this master or slave?.
7) Resolution needed on the ADC/DAC.
8) PWM frequency & resolution.

Best Wishes
neo19



Joined: 14 Aug 2012
Posts: 30
Location: France

View user's profile Send private message

PostPosted: Fri Aug 24, 2012 6:40 am     Reply with quote

I usually make some board with PIC18F, ADC (I2C), DAC (I2C), Digital Input, digital Output, RS232, IEEE488, char display. But my system is little old and I need a better display and Ethernet.

1) The display is a big problem for me because I would like something industrial, easy to controll and with good quality in 4.3 and 7".
I've found these ones wich could be controlled by I2C or SPI and graphics are good in 4.3" and 7".
It's for display picture at the beginning, buttons, status, little menu for service after sale (to see some ADC inside the equipment) or to configure Rs232 or Ethernet.
http://www.demmel.com/ilcd/english/cpanel8048.htm (180€)
http://www.demmel.com/ilcd/english/cpanel6448.htm (300€)
2)the storage equipment is not a problem.
3) Special requirement for me it's RS232, USB and ETHERNET. It's only a remote control for the equipment: start/stop/Status and to help the Service after sale by getting some internal value of temperature, voltage,..
4) Power supply is not a problem. I have the choise and the place. Consumption is not a problem.
6) USB is only slave
7) ADC and DAC will be 12 bits. I usually have some on I²C
8) PWM is for controll the speed of fans. I think 8 bits will be OK.

Best regards,

Fabrice
neo19



Joined: 14 Aug 2012
Posts: 30
Location: France

View user's profile Send private message

PostPosted: Fri Aug 24, 2012 6:56 am     Reply with quote

bkamen wrote:

I'm actually finishing up a project now using the Digi CC9M2443. It's nice module. Digi's support generally sucks. The documentation is a 5 on a scale of 1-10. Microchip and Intel have better documentation than samsung. Additionally, their user forum for the 2443 is virtually dead. Any questions I've asked have been way over anyone's head subscribed to the same topic... and there's only a handful of people using the 2443 if the activity is any indicator.

That said.. you have to decide where you want to spend your time and money. The big tradeoff is usually you either spend the time and the money and you design your own board and they're usually cheaper than buying someone else's modules ready to go.

however, if you want to build a handful and don't want to mess with all the low level stuff (like SCH/PCB and parts and so forth) -- then sometimes a module is the way to go. Only you can really decide that.
-Ben


A digi module like CC9M2443 is nice. Did you try to controll a display in your project?
The problem for me is to find industrial display with mechnical solution to plug it.
I have an old jumpstart kit from them. I don't know linux so at time I tried to use Eclipse-based Digi ESP IDE. It was nice.

Best regards,
Fabrice
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Fri Aug 24, 2012 7:20 am     Reply with quote

Quote:
I just pulled the Device table editor, and assumed if the part was listed there was at least some support. For some reason the editor lists PIC32MX320F032H through to PIC32MX795F512L parts. 30+ processors. Presumably some 'in the future' compiler version....


Thanks for reporting the interesting observation.

I wonder if CCS has already explicite plans to support PIC32 or even a time table.

Fortunately C32 is quite stable, so you have the option to start a PIC32 development now, whatever you expect from the future product.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group