реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ATtiny13 + AT45B011B, SPI на tiny13 и чем запрограммировать AT45B?
radimir
сообщение Jul 27 2007, 09:49
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 49
Регистрация: 18-02-05
Из: Екатеринбург
Пользователь №: 2 746



собственно сабж...
SPI на tiny13 и чем запрограммировать AT45B?
в бюджетном проекте требуется объединить tiny13 и at45B но на тини нет SPI
и непонятно чем программировать AT45B

может кто подскажет как делается?
Go to the top of the page
 
+Quote Post
m16
сообщение Jul 27 2007, 10:05
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 27-01-05
Пользователь №: 2 225



Цитата(radimir @ Jul 27 2007, 13:49) *
но на тини нет SPI

SPI сделать программным
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 27 2007, 10:27
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Код
/*****************************************************************************
Обмен данными по SPI
записывает в SPI порт данные wr_data и возвращает прочитанные при обмене данные
******************************************************************************/
UCHAR ExSPI(UCHAR wr_data)
{
   UCHAR rd_data;
   for(UCHAR i = 0; i < 8; i++)
   {
         /* отправляем следующий старший бит отправляемого байта */
         if(0 != (wr_data & 0x80))
             ISP_PORT |= (1 << PIN_MOSI); // = 1
         else
             ISP_PORT &= ~(1 << PIN_MOSI); // = 0

         /* подготавливаем следующий бит */
         wr_data <<=1;

         /*  принимаем очередной (начиная со старшего) бит принимаемого байта */
         rd_data <<= 1;
         if(0 != (ISP_PIN & (1 << PIN_MISO)))
             rd_data++; /* устанавливаем единичный бит, если высокий принимаемый уровень */

         /* формируем импульс на выводе SCK МК */
         ISP_PORT |= (1 << PIN_SCK); // высокий
         __delay_cycles(LOW_SCK_DELEY); // задержка
         ISP_PORT &= ~(1 << PIN_SCK); // низкий
          __delay_cycles(LOW_SCK_DELEY); // задержка
     }
     return rd_data;
}


--------------------
Go to the top of the page
 
+Quote Post
radimir
сообщение Jul 27 2007, 11:25
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 49
Регистрация: 18-02-05
Из: Екатеринбург
Пользователь №: 2 746



2prottoss
Огромное вам человеское спасибо! smile.gif
просто и со вкусом.

а вот может кто нить посоветует чем прошить AT45B ?
Вроде как куча программаторов которые по spi шьют а вот 45B не поддерживают...
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 27 2007, 11:28
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(radimir @ Jul 27 2007, 19:25) *
2prottoss
Огромное вам человеское спасибо! smile.gif
просто и со вкусом.

а вот может кто нить посоветует чем прошить AT45B ?
Вроде как куча программаторов которые по spi шьют а вот 45B не поддерживают...
ну так напишите свой, делов то smile.gif


--------------------
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 27 2007, 13:03
Сообщение #6


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



radimir, ни на LPT, ни на COM тоже нет SPI ;-)


prottoss, а какой смысл в подпрограмме разделять wr_data и rd_data ?
Вполне можно вдвигать биты на освободившееся место в wr_data, как я обычно и делаю.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 27 2007, 13:05
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(ReAl @ Jul 27 2007, 21:03) *
radimir, ни на LPT, ни на COM тоже нет SPI ;-)
prottoss, а какой смысл в подпрограмме разделять wr_data и rd_data ?
Вполне можно вдвигать биты на освободившееся место в wr_data, как я обычно и делаю.
Никакого smile.gif Просто так нагляднее


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 27 2007, 22:02
Сообщение #8


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(ReAl @ Jul 27 2007, 13:03) *
prottoss, а какой смысл в подпрограмме разделять wr_data и rd_data ? Вполне можно вдвигать биты на освободившееся место в wr_data, как я обычно и делаю

Проттосс ответил, что никакого смысла нет, но мне кажется, что всё-таки смысл есть.

Если вы передаете строку символов, то передаваемая строка заменяется на принимаемую, что не всегда удобно и не всегда возможно, скажем, если строка находится в пзу.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 27 2007, 23:40
Сообщение #9


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Jul 28 2007, 01:02) *
Проттосс ответил, что никакого смысла нет,

Протос правильно ответил. Смысла в этом действительно нет, стоит лишь посмотреть как объявлена wr_data. wr_data - локальная переменная unsigned char.

Ну а насчет вашего варианта со строкой, дык, это будет уже другая функция... Пока ее нет, нет смысла гадать "о смысле". ;>
Go to the top of the page
 
+Quote Post
arttab
сообщение Jul 28 2007, 14:03
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



возможно PonyProg сможет зашить


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Dmitry_Od
сообщение Jul 28 2007, 17:59
Сообщение #11


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 17-01-07
Из: Одесса
Пользователь №: 24 523



Цитата
а вот может кто нить посоветует чем прошить AT45B ?
Вроде как куча программаторов которые по spi шьют а вот 45B не поддерживают...


Попробуй это http://www.amwaw.edu.pl/~adybkows/elka/ispprog.html

правда сам не пробывал, не успел, но должно работать, кстати, можно назначать пины порта под разную разводку программатора, по умолчанию (по схеме) должен быть выбран ADD ISP программатор.

А кристалл какой? AT45DB или AT45D? - там разное питающее напряжение - 3,3В и 5В.


--------------------
http://odessa-intern.myminicity.com/ - эдакий муравейник
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 14:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01453 секунд с 7
ELECTRONIX ©2004-2016