MCP-3551 и SPI интерфейс.
|
|
KolesikNN | Дата: Четверг, 23.08.2012, 11:03 | Сообщение # 1 |
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Нужна помощь. Попал мне в руки 22-х битный АЦП MCP-3551. Кто нибудь работал с похожим девайсом. Нужно получить с него данные, хотябы бит 16-18 из него выжать. Работает по SPI. Может кто чего подскажет, или примерчик какой нибудь.
|
|
| |
KolesikNN | Дата: Вторник, 28.08.2012, 14:23 | Сообщение # 2 |
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Люди! Кто нибудь имеет информацию как работать с данным Ацп. Т.е корректно получить результат преобразования? ссылка на даташит http://ww1.microchip.com/downloads/en/devicedoc/21950b.pdf
|
|
| |
KolesikNN | Дата: Вторник, 28.08.2012, 17:48 | Сообщение # 3 |
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Разобрался сам, извините за беспокойство. Немного корявенько получилось, но получилось. Если интересно кому, могу выложить на обсуждение.
|
|
| |
exersizze | Дата: Вторник, 28.08.2012, 18:34 | Сообщение # 4 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| выкладывай! всегда может пригодится.
|
|
| |
KolesikNN | Дата: Среда, 29.08.2012, 10:33 | Сообщение # 5 |
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Из даташита можно увидеть что первый три бита указывают на полярность и предел измерения, они мне не нужны, я ими пренебрегаю. Замеряю однополярное напряжение, ИОН на 4.096 Вольт. Беру правда только 16 бит. А программа вот, прошу сильно не пинать если кому что не понравиться. $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 $large '***Переменные Dim A As Word Dim B As Single Dim I As Single
Config Portc = &B11111101
Cs Alias Portc.2 Sck Alias Portc.0
'CS - PORTC.2; SDO - PORTC.1; SCK - PORTC.0
'*** Конфигурация ЖКИ
Config Lcdpin = Pin , Rs = Portd.2 , E = Portd.3 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 Config Lcd = 16 * 2
Cls Cursor Off Set Cs
Do
Reset Cs Waitms 10 Bitwait Pinc.1 , Reset Waitms 10 Pulseout Portc , 0 , 20 Pulseout Portc , 0 , 20 Pulseout Portc , 0 , 20
Shiftin Pinc.1 , Portc.0 , A , 0
Waitms 10
Set Cs
B = A B = B * 100000 I = B / 1599975586
Cls Lcd Fusing(i , "##.#####" ) ' для вывода на дисплей мне нужно 5 знаков после запятой Locate 1 , 9 Lcd "Volt" Waitms 200
Loop End 'end program
|
|
| |
niko-lay | Дата: Суббота, 01.09.2012, 11:25 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 19
Статус: Offline
| Я заметил что используете для приема по SPI команду shiftin, а почему не Spiin? Интересует как у этого АЦП с показаниями, сильно скачат?
|
|
| |
KolesikNN | Дата: Среда, 05.09.2012, 15:10 | Сообщение # 7 |
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Spiin не подходит по фазе. Команда Shiftin может работать в нескольких режимах. Режим 0 подходит для данной ацпшки.(см. Даташит и учебник по Барсику). Про сам АЦП скажу, что я с него беру 16 бит, работает отлично, на всю не пробывал выжимать не знаю. Могу лишь сказать что данный девайс инструментальный, работает медленно(время преобр.73.1 ms) но верно.
|
|
| |
top | Дата: Вторник, 04.12.2012, 02:19 | Сообщение # 8 |
Группа: Друзья
Сообщений: 146
Статус: Offline
| 73,1 мс вполне отличный показатель при 22х битах. Что уж говорить про AVRовский 10ти битный с, в среднем, 100 мс.
Сообщение отредактировал top - Вторник, 04.12.2012, 02:20 |
|
| |
marss70 | Дата: Среда, 02.01.2013, 20:03 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 80
Статус: Offline
| В Протеусе значения после запятой скачут- а в железе как?
|
|
| |
KolesikNN | Дата: Воскресенье, 06.01.2013, 17:01 | Сообщение # 10 |
Группа: Пользователи
Сообщений: 14
Статус: Offline
| Выкиньте н@хрен протеус. Я беру 16 бит. измеряю микровольты, значения стоят железно. Пробуйте всё в реале. Протеус не рулит.
|
|
| |
marss70 | Дата: Суббота, 12.01.2013, 01:37 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 80
Статус: Offline
| Ну я бы не стал так уж обижать Протеус. Хорошая программа. Кстати, люди добрые написали программку для mcp3551 на СИ, так она в Проте себя прекрасно чувствует и думаю, что в "железе" всё будет хорошо. Придёт заказик с mcp- посмотрим. А ещё в продолжение темы, хотел бы предложить Уважаемому KolesikNN, попробовать силы в подключении более дешёвого собрата mcp3421. Битов поменьше, но и цена в три раза дешевле...
Сообщение отредактировал marss70 - Суббота, 12.01.2013, 01:59 |
|
| |