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

 
 
> Термодатчиик+МК+RS232, Вывод инфы с датчика на комп, SPI интерфейс
armin
сообщение May 17 2009, 10:17
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 5-10-08
Пользователь №: 40 710



Добрый день! Нужна помощь спецов! У меня есть задача: Собрать устройсво вывода значений температуры с помощью микроконтроллера (МК) и термодатчика AD7814 на компьютер. Цель использования компьтера – контроль правильности работы устройства (показания на компе должны соответствовать показаниям на датчике). Это устройство не нужно собирать ”вживую”, можно просемулировать в Proteus ISIS. Так как в датчике используется интерфейс SPI, то я использую другой термодатчик – TC72, он аналогичен AD7814 (просто у меня нету AD7814 в библиотеке для симуляции). Для отображения инфы думаю использовать Virtual Terminal – RS-232 протокол (данные подавать на RXD). МК думаю взять PIC16C63A, так как у него есть апаратный интерфейс SPI и USART.
Вот такая задачка, но тут есть проблемки с которыми мне сложновато разобратся:
1)Основной принцип SPI протокола в общем вроде понятно – последовательная передача данных синхронизированных SCK, но вот смотрю на диаграмму считывания или записи в даташите на TC72 и не могу догнать эелементарщину...что такое MSb и LSb, как называються эти биты? Типа старший и младшие биты? И какие биты передавать по линии SDI (А7-А0) в режиме чтения, для того что б на линию SDO вывелась нужная инфа (D7-D0)? И почему передаються за раз не 10 бит, а 8, датчик то 10-битный? Режим записи аналогично, там вообще на линию SDI идёт два байта, сначала от А7-А0, а потом D7-D0, что это? (см.стр 5 в даташите на TC72)
2)Можно как-то не писать программу на компе под RS-232, так как я в этом не бум-бум (пока), есть ли какие-то готовые проги, где не трудно подстроить её под себя, и вывести эту инфу с датчика?
3)Сам программировал пока PIC16F84A, пару элементарных устройств получилось, даже на ЖКИ вывел пару строк, но ещё хорошо его не знаю, пока боюсь слов прерывание и таймер laughing.gif
Вот основные ”палки в колёсах”, помогите пожалуйста разобратся в этом и расставить всё по полочкам, ссылки на литературу, всё что мне поможет, ну и свои советы само собой, скоро сесия, нужно доделать задание. Зарание спасибо!

Сообщение отредактировал armin - May 17 2009, 10:20
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Сергей К
сообщение May 17 2009, 11:05
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 18-09-08
Из: Киев
Пользователь №: 40 317



Я бы посоветовал МК PIC16F628A. Это усовершенствованый аналог PIC16F84A и он дешевле. У него есть аппаратный UART.
Компилятор можете взять CCS, у него есть заготовки под работу с UART. SPI-интерфейс легко можно сделать и самому (я делал SPI для AD7792 на PIC12F628 с программным UART).
Go to the top of the page
 
+Quote Post
armin
сообщение May 17 2009, 11:27
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 5-10-08
Пользователь №: 40 710



Забыл сказать - программирую на ассемблере, поэтому и проги желательно на нём что б были, понятно, что Си проще, но я его не знаю так хорошо как хотелось бы, да и в задании у меня сказано, что выполнить нужно на ассемблере...

ЗЫ:Чем дальше лезу в эти "дебри", тем больше понимаю, что я ещё ничего не знаю... wacko.gif
Go to the top of the page
 
+Quote Post
SysRq
сообщение May 19 2009, 15:40
Сообщение #4


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Раз хватает Proteus'а, то:
1) С МК через UART выводить значение температуры сразу преобразованное в текст -- можно смотреть в виртуальном терминале легко. Софтина на комп не нужна.
2) MSB - старший, LSB - младший. Смысл - начиная с какого байта передается по последовательному каналу байт данных.
3) Поймите чем отличается master (ведущее) и slave (подчиненное) устройства на SPI. Мастер в режиме чтения должен давать такты в линию, чтобы подчиненный мог отвечать в это время данными. Выдаваемые в это время мастером данные чаще всего не важны.
4) Сколько тактов дадите, столько вам и будет данных, но если не указано иное. Однако, приёмный регистр 8-битного контроллера тоже 8 бит, и считывать его надо по заполнению. Также могут быть иные указания исходя из протокола обмена...
5) Как трактовать данные, которыми обмениваются устройва по SPI, надо смотреть в доках на эти устройства.
Go to the top of the page
 
+Quote Post
armin
сообщение May 22 2009, 07:53
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 5-10-08
Пользователь №: 40 710



Всё, инфа с датчика на выводах порта В, по даташиту всё правильно показывает, начиная от+25 до +125 градусов,этого пока хватит, нет времени возится с RS232 протоколом, всем спасибо!
Прикрепленные файлы
Прикрепленный файл  termo.rar ( 15.49 килобайт ) Кол-во скачиваний: 22
Прикрепленный файл  Proteus_ISIS.rar ( 234.91 килобайт ) Кол-во скачиваний: 20
 
Go to the top of the page
 
+Quote Post

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

 


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


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