Tuesday, July 3, 2012

Some info about mini2416

Hello everybody,
as it was stated in my previous post, now miniEMC2 supports two platform: mini2440 and mini2416.
The second one is based on the S3C2416 MCU, that is very close to S3C2440, but it's more contemporary


So what is at this small PCB:
  1. 400 MHz S4C2416 MCU
  2. 128Mb NAND Flash
  3. 64Mb DDR2 RAM
  4. Ethernet 10/100Mb (w/o connector)
  5. AC97 Audio codec (w/o connector)
  6. 2 USB1.1 HOST (w/o connector)
  7. 2SD card controllers (w/o connector)
  8. Small TQFP120 package (40mm x 40mm)
We've developed a custom PCB for that board, that includes:

  1. Power supply 220V->3.3/5/5V
  2. RJ45 Ethernet connector
  3. 2 USB HOST connector
  4. SD card connector
  5. RS-485 driver with galvanic isolation ( optional )
  6. Buffers for digital input/output allow direct connection to TTL-level chips, like stepper drivers L297, A3986, TB6560
  7. 22 TTL-compatible Digital Output
  8. 15 TTL-compatible Digital Inputs
The main advantages over mini2440 are:
  1.  Thanks to integrated power supply and TTL drivers user have an whole CNC controller in a single board, when for mini2440 user needs to add external power supply and make/buy an expansion board.
  2. 2 USB HOST allow to connect USB Flash driver and another device, like a small keyboard for jogging control.
  3. Digital interface's connectors placed from one side of the board that simply board integration into enclosure.
  But there is one disadvantage. mini2416's use 16-bit SDRAM access that reduces overall system performance: maximum number of simultaneously used axes can't exceed 4.
  At the present time mini2416 is under test from HW and SW sides. We need to know if such a board is interesting to users.

9 comments:

  1. I've long been interested in a stand-alone CNC controller (no PC), and so far this is the only such project I've found. Thank you for your decision to switch to English on this blog, it's much easier to follow it this way. The only nuisance I'd like to mention is not being able to comment without some sort of account - this tends to scare off a lot of people (not everyone is comfortable using their real identity online) and I suspect it's the main cause of lack of comments here right now.

    I'm of course interested in the mini2416 module and also in this custom PCB, but I'd like to note a few things:

    - To be honest, I'd much prefer the on-board power supply to work from a low-voltage input (something like 12-36V or so, possibly incorporating a rectifying bridge for direct AC input) than directly from 220V. Yeah, I know, I'm paranoid, but I wouldn't be happy with 220V going into the CPU board.

    - You might want to face the power input terminals towards the third edge of the board (opposite to LAN/USB/RS232), because if a driver board is designed to attach to the I/O strip directly (alongside the CPU PCB), then the power wires would get in the way.

    - There seem to be some mounting holes on the PCB (I can't see them clearly in the picture), but having enough room around them for a standard screw's head would be important - preferably without traces going under it, so an insulating washer is not necessary.

    - Having the board's logic supply (5V) available on the I/O connector strip would be important, in case the stepper driver board needs a supply voltage for its optocouplers from the logic side.

    - Having an SPI port available on a small connector would be nice - some people might wish to attach a small independent display (like an older Nokia LCD with integrated driver/memory) by SPI to output some simple data like X-Y-Z etc. (Since this display would NOT use the CPU's LCD logic, it should not be a significant drain of CPU power / memory bandwidth).

    I don't see the 4-axis limitation as a problem, most hobby CNCs only have 3 axes anyway; also, one of the most popular drivers (the TB6560) has an astonishingly low maximum clock frequency (15KHz!) so that shouldn't be a problem either.

    ReplyDelete
  2. Max, thanks for your interest to this project. Your notes are very useful - I even didn't note that only registered users can leave messages here. I've changed mode - hope this help people use this blog.
    I need to tell that I intended to use plastic box Z104 (http://sklep.kradex.com.pl/product.php?id_product=350) as an enclosure. So there are some mounting holes on the board, at the middle of it. As you can see this box has a special places for connector, that's why was decided to put at the front as many connectors as possible. USB/Ethernet/RS-485 are from right side to get the device more convenient for usage, but it require some hand job to cut plastic from a cover.
    Now about you notes:
    - You are right about 220V on the board - I'm always afraid of being shocked by electricity when I play with the board. Maybe input voltage range 24-48DC would be more correct;
    - Power terminal is at the front side just to reduce number of mechanical works on the enclosure;
    - Mounting hole are present, but they are dedicated for Z104 box;
    - Power supply +5V is present at the big connector;
    - SPI can be routed, but need to use a bigger connector. Your idea about small LCD was in my mind some time ago, but I haven't implemented it yet. Hope I'll have enough free time to go on with development.

    Sergey

    ReplyDelete
  3. sergey, im building a large amount of cnc's for clients and i wanted to include a integrated controller as an option, and your kit would be perfect

    are you ready to sell the boards yet? and if you are how much

    and how would it interface with my stepper motor controllers? would i need a seperate breakout board with usb support, or does your board take over the function of the breakout board?

    ReplyDelete
  4. Ok, I'll try to explain what you can do with this controller. It has integrated USB host and supports USB Flash drive, also it has SD card on the board. G-code can be written to USB/SD over FTP. Then, using WEB interface user can select one of the files from SD/USB and start their execution. At this point controller can work independently from PC, you may control/check its behavior connecting to it from WEB-browser. In this case you can: stop/pause program execution, move axis in manual mode, set feed override value and many other things.
    If you have stepper driver with TTL (+5V) interface, then you can connect controller to you motor drivers directly using 3 signals: Step pulse, direction pulse and Motor output enable. Up to 4 axis. Additionally, you can get 2 PWM output with 1kHz freq, several digital inputs/outputs and control them from your G-code.
    All this is valid for miniemc2 implementation of mini2416. If you will use mini2440 board, then you will need an additional breakout board for a voltage level shifting.

    ReplyDelete
  5. Hi Serg,
    Are you interested in a port of miniemc to the raspberry pi?

    Cheers,
    Rex

    ReplyDelete
  6. Hi Rex.
    Actually the raspberry pi is not the best board for LinuxCNC. Now I'm playing with BeagleBone Black because I see it has a good support from the LinuxCNC developers side.

    ReplyDelete
  7. Hi Serg,

    Is that because of the GPU/USB/Other peripherals that will make realtime more difficult?

    ReplyDelete
  8. Basic reason is that AM3359 MCU has two dedicated 200 MHz RISC co-processors dedicated exactly for hard real-time tasks: step/dir,PWM and etc. That is, if miniEM2 uses hacks inside the kernel for FIQ-based stepgen and this affects on whole performance, the BeagleBone implements this tasks without main CPU overloading.
    Additionally, I guess, there are some other reasons, like fully opened specification for the AM335x devices.

    ReplyDelete
  9. Ok, Thanks for that. I'd seen a few people saying the RPi wasn't as suitable but I didn't really understand why.

    Cheers,
    Rex

    ReplyDelete