момчета, направо ме шашнахте! 7 страници за 24 часа! не можах да ги прочета с едно кафе от сабалем...
сега да изкажа нЕкои саображения и аз:
- цената
няма да правим изделие, което ще се произвежда в стотици бройки. наколко (десетки) долара/евро повече няма да са от значение, така не изпадайте в крайности да гледате кой процесор е с $2 по-евтин от друг.
- функционалност
според мен трябва да проектираме устройство, което да можеме да водоизменяме функционално много лесно. сами виждате за 24 часа колко идеи наприиждаха. това най-лесно става като се заложат FPGA и самопрограмируем микроконтролер. CPLD е удобно, когато сме наясно какво искаме и вече сме го направили, остава само да го произвеждаме в хиляди бройки. това не е нашия случай.
та според мен тази част от блокчетата трябва да включва MCU, FPGA и SPI памет с достатъчен обем, барабар в едно с FTDI. в микроконтролера се дупчи винаги един и същ bootloader, и негова грижа е да изчете съответната част от SPI паметта и да се самопрограмира, ако се налага. после да прочете друга част и да програмира FPGA-то. ще използваме FTDI за да програмираме SPI паметта. самия bootloader в MCU-то е защитен достатъчно надеждно, за да не може да се скапе, дори от много настоятелни профани.
по този метод ще може да се изменя функцията на изделието само чрез препрограмиране през USB-то и всеки ще може да го прави лесно, без да му трябват разни JTAG-зи и купища среди за дупчене.
- MCU
мисля, че трябва да използваме нещо, което е максимално удобно за развой, защото много народ ще се включи. трябва да може да се програмира на С (то има ли вече такива, дето не могат?), да се разслои програмката на множество .с и .h файлове, да и опишем първо хедърите и да се почва.
аз лично предпочитам МЕГИ-те, защото ползвам gcc. има го и за М$ и за unix. за мен това е съществено, защото имам само един прозорец и той обикновено е зает за правене на платки. но съгурно ще е много трудно на мнозина.
друго нещо което трябва да има, според мен, е JTAG за дебъгване. то ще е само за девелоперите. на мен поне ми е писнало от дебъгване на системи без вход-изход.
защо да не погледнем и на LPC ARM-овете на philips?
- паметта
хммм... сложен въпрос. най-добре е да ползваме кешови памети от близкото минало (старите 486-ци). има чипове 32х128К в QFP. има ги и в 8х256К. всички са достатъчно бързи. в момента не съм подготвен за цена, но до вторник може да се отговори на този въпрос.
колко бита? мисля 32.
може да се помисли върху конфигуриране на разрядността на семплиране. идеята ми е, при 32 бита да се помнят 256К семпъла, при 16 - 512К, а при 8 - 1М семпъла. така донякъде ще успокоим напъните на Никола за 4М-семпъла
- четота на семплиране
да се ограничим на 33MHz (30ns)
мисля, че трябва да направим честотата на семплиране променлива. поне 33,25,20,10,5,2,1 MHz. може и по-ниски за много бавни анализи. това обаче може да стане само с честотен синтезатор+последващо подходящо делене във FPGA-то. Никола, някакви подходящи чипове на I2C?
също така мисля, че трябва да има и външен вход.
-тригериране
май никой не е споменавал за него
имам превид как ще се определя началото на семплиране. трябва да има няколко варианта: външен тел, промяна на бит, промяна на бъс или достигане до определено състояние на бъс.
- входове
механично мисля, че 40-пинов двуреден куплунг е идеален. стига за 32 бита и за няколко входа допълнително. за кабел се използва 80-пинов от диск за компютър. всяко жило от 40-те има помежду си един тел със земя. много е важно
на входовете трябва задължително да има буфери. шмигери, а още по-добре аналогови компаратори (в комет има поне по 4 в корпус), като нивото на компариращия вход да може да се променя на 2-3 стъпки: за логика на 5, 3.3, 2.5.
- дисплей+копчета
малко ми е безмислен...
много по-добре ще е да се помисли за галванично развръзване с компютъра. дори за самостоятелно захранване. защото всичките китайски боклуци, дето ни седят по бюрата, имат такива захранвания, че.... ще трябва да отворим магазин колкото ЦУМ!
- патерн-генератор
май и за него сте забравили?
като се прави такава щуротия, защо да не сложим и изходи и да разделим паметта на две (дори да сложим още памет).
изключително удобна комбинация. дори само в proteus-а се въждат предимствата му
айде за сега толкова, коментирайте