Överföring mellan FPGA kort ?
Postat: 8 september 2007, 11:21:43
Ska försöka överföra lite seriell data från ett masterkort ut till åtta stycken slavkort, men vet inte riktigt vilken teknik jag ska satsa på. Varje enhet består av ett eget kretskort med en FPGA. Mastern ska enbart skicka data till slavarna som jag tänkte ge specifika addresser så rätt data hamnar hos rätt slav. Avstånden mellan mastern och första slaven blir runt 10-15 m och mellan slavarna blir det sen 1 meter. Hastigheten på överföringen ska ligga på 10 Mbit. Hade tänkt använda RS-422/RS-485 över CAT5 kabel för själva signalöverföringen.
Första frågan är hur man löser själva multidrop nätet. Antingen låter jag alla slavar ligga på en och samma buss. Med andra ord så sätter jag två kontakter för in och ut på varje slav som sedan kopplas ihop tillsammans med slavens reciver. Detta borde väl gå eftersom RS-485 standarden säger att man kan ha upp till 32 enheter på detta sätt.
Andra varianten som jag funderat på annars är att ha separata bussar mellan enheterna. I en slav termineras inkommande signal och tas emot av recivern. Signalen som går vidare ut till nästa slav drivs sen av en ny driver på slavkortet. En fördel här är att man kan sätta fasta termineringar på korten men det kanske blir lite overkill och en del fördröjningar ?
Nästa fråga är om man ska satsa på att köra rådata i 10Mbit och försöka avkoda den med en snabb USART i FPGAn, nån som lyckats med detta i dessa hastigheter ? Annars hade jag tänkt använda manchester eller 8B/10B kodning och låta slavarna synca sig mot dataströmmen. Vad kan vara vettigast att satsa på ?
/Magnus
Första frågan är hur man löser själva multidrop nätet. Antingen låter jag alla slavar ligga på en och samma buss. Med andra ord så sätter jag två kontakter för in och ut på varje slav som sedan kopplas ihop tillsammans med slavens reciver. Detta borde väl gå eftersom RS-485 standarden säger att man kan ha upp till 32 enheter på detta sätt.
Andra varianten som jag funderat på annars är att ha separata bussar mellan enheterna. I en slav termineras inkommande signal och tas emot av recivern. Signalen som går vidare ut till nästa slav drivs sen av en ny driver på slavkortet. En fördel här är att man kan sätta fasta termineringar på korten men det kanske blir lite overkill och en del fördröjningar ?
Nästa fråga är om man ska satsa på att köra rådata i 10Mbit och försöka avkoda den med en snabb USART i FPGAn, nån som lyckats med detta i dessa hastigheter ? Annars hade jag tänkt använda manchester eller 8B/10B kodning och låta slavarna synca sig mot dataströmmen. Vad kan vara vettigast att satsa på ?
/Magnus