GrayCat
Jan 11 2007, 15:24
Поизучал тут намедни микросхемку FT2232C. В ее составе есть блочек, который может работать в режиме SPI-мастер. Также есть возможность дергать ножками этой микрухи, а другой ее порт можно использовать по прямому назначению: UART или Parallel FIFO.
Так вот этот SPI-мастер прямо напрашивается на использование в качестве программатора для AVR. Но, порывшись по Инету, что-то я не нашел ничего подобного.
Плохо искал? Или никто еще не додумался? Или поэкспериментировать?
iosifk
Jan 11 2007, 15:35
Цитата(GrayCat @ Jan 11 2007, 15:24)

Так вот этот SPI-мастер прямо напрашивается на использование в качестве программатора для AVR. Но, порывшись по Инету, что-то я не нашел ничего подобного.
Я работал только в режиме JTAG.
Если что нароете по SPI - напишите...
У меня в планах есть это попробовать. Но еще не начал...
Я использую платку от DLP, называется DLP2232. Там уже есть все готовое.
prottoss
Jan 11 2007, 15:47
Где то в сети натыкался на такой проект, даже русскоязычный... Где то на народе. И вроде бы на
http://kazus.ru про него упоминалось
bodja74
Jan 11 2007, 15:56
Цитата(GrayCat @ Jan 11 2007, 15:24)

Так вот этот SPI-мастер прямо напрашивается на использование в качестве программатора для AVR. Но, порывшись по Инету, что-то я не нашел ничего подобного.
Плохо искал? Или никто еще не додумался? Или поэкспериментировать?

Если дергать ногами ,медленно будет программировать,
если использовать СПИ нужно прогу переписывать.
GrayCat
Jan 11 2007, 16:36
Идея в том, чтобы наподобие платки "DLP-2232PB" поставить в свой девайс эту FT-шку, и через порт "А" держать связь PC-USB-ATMega, а через порт "В" - эту же Мегу перешивать прямо с ПК. Примерно такое сделано в
"DLP-2232PB", но там для программирования приходится именно что "дергать ногами". А тут есть надежда заюзать родной SPI на FT2232.
Как идея?
prottoss
Jan 11 2007, 17:09
Цитата(GrayCat @ Jan 11 2007, 20:36)

Идея в том, чтобы наподобие платки "DLP-2232PB" поставить в свой девайс эту FT-шку, и через порт "А" держать связь PC-USB-ATMega, а через порт "В" - эту же Мегу перешивать прямо с ПК. Примерно такое сделано в
"DLP-2232PB", но там для программирования приходится именно что "дергать ногами". А тут есть надежда заюзать родной SPI на FT2232.
Как идея?

Учитесь пользоваться поиском
http://www.mcu-cpld.narod.ru/ATprog2232.html
GrayCat
Jan 11 2007, 17:29
Цитата(prottoss @ Jan 11 2007, 16:09)

Да-да-да, уже нашел

. Спасибо за наводку с Казуса

. А не нашел потому, что там на готовом модуле "DLP2232M" сделано, а сам чип "FT2232C" не упоминается.
Будем разбираться...
Здравствуйте, сделал я себе девайс на FT2232C.
Канал А - в режиме SPI, канал Б - сом порт. Написал програмку на С++ и нормально с ним работаю.
Всё бы ничего, но возникла проблемка - не во всех режимах запускается SPI. Вот часть исходника:
bool CPHA = true;
bool CPOL = true;
ReadStartCondition.bClockPinState = CPOL;
ReadStartCondition.bDataOutPinState = false;
ReadStartCondition.bChipSelectPinState = true;
ReadStartCondition.dwChipSelectPin = ADBUS3ChipSelect;
Status = SPI_Read(ftHandle,
&ReadStartCondition,
true, //bClockOutControBitsMSBFirst MSB
CPHA, //bClockOutControBitsPosEdge negative
(ctrlDatalength * 8),//Control Bits To Write
&outBuf,
ctrlDatalength,//control Bytes To Write
true,
!CPHA,
(dataLength * 8),
&inBuf,
&dataLength,
&HighPinsWriteActiveStates );
При CPHA = true;CPOL = true; всё работает, при CPHA = false;CPOL = false; тоже,
а вот если один из этих флагов false, а другой true, возникает ошибка при чтении/записи
№47 - FTC_INVALID_INIT_CLOCK_PIN_STATE
Т. е. я не могу поменять полярность и тип клока.
Подскажите пожалуйста, кто нибудь встречался с этим уже?
Кто нибудь знает, где найти erratu на этот чип?