- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I have a robotic project in which i have to controlle 3 powerful steppers motor ,keyboard, VGA, and 40 leds . I did work with altera de1 board only when i was in school, i don't know about the others altera products . So please can anyone advise me which board is good for my project ? i liked de1 board is it good for this project ?Link Copied
8 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The DE1 would be a good choice, in my view, for 3 reasons: 1) it directly supports VGA, b) it directly supports a keyboard and c) you've used it before. It's also pretty cheap - make that 4 reasons :)
It will also quite happily control the stepper motors - but isn't suitable for actually driving them. You will need additional circuitry for this - discrete FETs or other appropriate driver circuitry. It doesn't have 40 LEDs either, but I have to assume you're putting these elsewhere too. The DE1 has sufficient spare I/O for 40 LEDs and control signal for the stepper. There may be other boards worth considering, but they're unlikely to be as cheap. If you wish to look beyond the DE1 let me know. Cheers, Alex- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thank you Alex
i think i'll go for de1 board. for steppers i will purchse motordriver one more question : i have to always upload my programe in de1 board every time i shut it down ?(i want my programe to stay permanent on it).- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Look at chapter 4 of the DE1 board's user manual. If you don't have it you can download the manual from here: de1 user manual (http://www.terasic.com.tw/cgi-bin/page/archive_download.pl?language=english&no=83&fid=91d2cf46f90973377b1f71bd42040740)
It discusses putting the FPGA's configuration image into an EEPROM using Active Serial (AS) mode. Once done your board will automatically load the FPGA, from the EEPROM, when the board is powered up. Regards, Alex- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ther again
I purchased altera De1 board and begin my development in it. i had to display in VGA some data and control X Y and Z axes steppers to 600 positions. but when i was programming some characters to display in VGA i got this error message : "170011 Design contains 20486 blocks of type combinational node. However, device contains only 18752" "171000 Can't fit design in device" So, it means de1 board is not good enough for my design, and i have to purchase another development board more powerful ?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You could by another, bigger board - yes...
However, I recommend you consider your code and whether it's written sensibly. The DE1 board should have plenty of FPGA resource to drive the VGA port it supports - as well as everything else. If you've written your code inefficiently you could end up with that error. Cheers, Alex- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi thank you for respond
her it'is one function to display an O: --O Function Ch_O (y,x,Y_O,X_O,Taille:integer) return std_logic is --x and y are pixel column and row begin --Y_O and X_O are position wher to diplay O --Taille is size of character O if((x-(x_O+(50*Taille/100)))*(x-(x_O+(50*Taille/100)))+(y-(Y_O+(50*Taille/100)))*(y-(Y_O+(50*Taille/100)))<=(50*Taille/100)*(50*Taille/100) and (x-(x_O+(50*Taille/100)))*(x-(x_O+(50*Taille/100)))+(y-(Y_O+(50*Taille/100)))*(y-(Y_O+(50*Taille/100)))>=(40*Taille/100)*(40*Taille/100) ) then return '1'; else return '0'; end if; end function Ch_O; so like that i create for evry character(A B C D E ....) a funcion with mathematical equation to display them. so when i display ABCDEFGHIJKLMNOPQRS at S its the error comme out :confused: . i didnt even programme the motors drive yet.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm afraid my suspicion was about right - your code doesn't really lend itself to FPGA gates...:oops:
You have 18 (yes - eighteen!) multipliers instantiated in your statement. Furthermore, you're asking your FPGA to evaluate this statement in a single clock cycle. Finally, you say you're intending to have a statement like this for every letter of the alphabet... So, I'm not surprised you've run out of FPGA resource. You need to reconsider how your code is written having first (I suggest) done a little more background reading. Whilst FPGAs can create multipliers it really can't implement them as you've written. To do what you're trying to do you need to learn about pipe-lining your code. This means splitting your code up to evaluate your statement over multiple clock cycles. Do little pieces at a time. Given what you're trying to do you will have plenty of clock cycles in which to do this. I've not had a good look through this link but the opening paragraph tells me it's on the right lines - what is pipelining? explanation with a simple example in vhdl (http://vhdlguru.blogspot.co.uk/2011/01/what-is-pipelining-explanation-with.html). Start inserting some (lots) of flip flops in your code. Cheers, Alex- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much for your help.
Now i understand i will modify my code with pipeline, thank you again :D
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page