chipKIT® Development Platform

Inspired by Arduino™

Custom Board PIC32MX795F512L

Created Fri, 28 Jun 2013 13:58:48 +0000 by Rayyanalva


Rayyanalva

Fri, 28 Jun 2013 13:58:48 +0000

Hello all..

I'm new to Chipkit, also new in embedded. I need help to develop device, with needs:

  • 1 RS485 (UART) with UART1
  • 1 RS485/422 With RTS with UART2 and 1 digital pin for controlling RTS
  • 4 RS232 (Tx only), will use software serial
  • 1 UART with UART3
  • 2 SPI with 2 digital pin for each CS
  • 2 additional UARTs (4 & 5)
  • 1 24LC512 for transaction data
  • 1 24LC032
  • 1 DS1307
  • 1 Micro SD
  • 1 Ethernet, will use ENC28J60
  • 5 Digital IO for controlling LEDs and Push buttons
  • 4 Digital IO for buzzer, IR sensor, temperature sensor, and LED
  • About 32 pins IO with SPI for driving LCD (SSD1963 + touch), ST7920, T6963C
  • 7 digital pin for Keypad

I see that Max32 will fit my needs. But the question is:

  • Can I replace DS1307 with built in RTCC? Is this have library? Is it reliable?
  • Can I replace ENC28J60 with built in ethernet? Is this have library? Pins for sample?
  • What pins that I can use for software serial? Just need TX only for printer
  • I'll use this for monitoring fuel pump in gas station also stock in fuel tank, is it safe for 24 hours?
  • DO I need resistor for pull up DS1307, 24LC512, 24LC032?

For now, I was able to do this with Mega 2560, but I need more memory for handling string (LCD) and also need more power to drive 800x480 LCD.

Please help me, and thanks before for your help.

Regards,


majenko

Sat, 29 Jun 2013 09:25:51 +0000

Hello all.. I'm new to Chipkit, also new in embedded. I need help to develop device, with needs:

  • 1 RS485 (UART) with UART1
  • 1 RS485/422 With RTS with UART2 and 1 digital pin for controlling RTS
  • 4 RS232 (Tx only), will use software serial
  • 1 UART with UART3
  • 2 SPI with 2 digital pin for each CS
  • 2 additional UARTs (4 & 5)
  • 1 24LC512 for transaction data
  • 1 24LC032
  • 1 DS1307
  • 1 Micro SD
  • 1 Ethernet, will use ENC28J60
  • 5 Digital IO for controlling LEDs and Push buttons
  • 4 Digital IO for buzzer, IR sensor, temperature sensor, and LED
  • About 32 pins IO with SPI for driving LCD (SSD1963 + touch), ST7920, T6963C
  • 7 digital pin for Keypad

That's quite a big setup you have there

I see that Max32 will fit my needs. But the question is:

  • Can I replace DS1307 with built in RTCC? Is this have library? Is it reliable?

Yes you can, yes there is, and no it's not. The problem with the built-in RTC is that it's not got any form of battery backup. Loose power and you loose the time. Using an external chip is preferable as you can give it a small battery to retain the time when power is lost. It's a bit of an overshight by MCHP if you ask me...

  • Can I replace ENC28J60 with built in ethernet? Is this have library? Pins for sample?

You can, but you wouldn't want to. The internal ethernet requires a "PHY" chip - a physical interface chip - to connect it to a network. This is bigger and more complex than an ENC28J60 and requres more pins to control it - the only advantage is you can connect at higher speeds (you can use 100Mbps - but why you'd need to on an 80MHz chip I can't guess).

  • What pins that I can use for software serial? Just need TX only for printer

Any that aren't in use by anything else.

  • I'll use this for monitoring fuel pump in gas station also stock in fuel tank, is it safe for 24 hours?

It's safe for 24 years. It's an embedded system - it's designed for long term operation.

  • DO I need resistor for pull up DS1307, 24LC512, 24LC032?

Any I2C bus will require pull-up resistors. If any of those devices are I2C the bus they are connected to will require pull-up resistors. 3.3K or 4.7K are good common values.

For now, I was able to do this with Mega 2560, but I need more memory for handling string (LCD) and also need more power to drive 800x480 LCD. Please help me, and thanks before for your help. Regards,

Be warned that on the PIC32 alot of the peripheral functions are shared on the pins, so altohugh it may look like it has the facilities you need you may find that some of the peripherals conflict on the pins. For instance a lot of the time pins share UART, I2C and SPI all together, so if you are using all the UART channels you may not have as many SPI as you think you have, etc.

For something this complex I would be inclined to have a number of sub-assemblies for controlling some of the larger items, such as having a dedicated controller for the LCD which you communicate with over say SPI, or UART. That will reduce the number of pins you need on the main controller, and allow you to connect more things together.

I would also probably think about a separate controller for the ethernet too, as the ENC28J60 needs a lot of RAM to itself for storing buffers and things in order to operate properly - Ethernet, and especially TCP/IP are quite memory hungry protocols.


Rayyanalva

Mon, 01 Jul 2013 02:59:45 +0000

Thank you very much for your reply.

Explanation is very complete, clear, and useful for me. I will try to make a circuit schematic based on your suggestions.