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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> SIM900 + 2 микроконтроллера., Подключение 2х МК к модулю одновременно.
F E N I X
сообщение Aug 30 2011, 08:01
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 21-07-10
Пользователь №: 58 544



Необходимо подключить к SIM900 2 микроконтроллера, да так чтобы с обоих можно было управлять им AT командами. Но неодновременно.

Логика такая - есть проц - мастер, он постоянно общается с модулем, но, наступает необходимость перепрошить мастера, тогда в дело включается слейв, он закачивает прошивку во влеш память, вводит мастера в бут режим и заливает ее. Во время прошивки мастера слейв должен иметь связь с сотовой сетью.

есть вопрос
1) Как сделать так чтобы имелся доступ к уарту SIM 900 со второго проца? (Производители предлагают писать прошивку для модуля чтобы задействовать I2C)
Go to the top of the page
 
+Quote Post
Палыч
сообщение Aug 30 2011, 08:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Как вариант:
1. Непосредственный доступ к СИМ900 имеет только второй МК (слэйв)
2. Первый МК (мастер) в рабочем режиме общается (отправляет команды, принимает ответ) с СИМ900 через второй МК. Например, если второй МК нужен исключительно для перепрошивки первого, то первый МК (мастер) может и не "знать", что он с СИМ900 общается через посредника (просто отправляет и принимает символы/байты по UART). Добавлено позже: Второй МК в этом случае должен быть с двумя UART: один используется для связи с СИМ900, второй - с мастером. Ежели второй МК в рабочем режиме тоже чтото делает, то для обмена между МК, не связанной с управлением СИМ900, можно использовать другой интерфейс (SPI, I2C, параллельный...).
3. В случае перепрошивки второй МК и так имеет доступ к СИМ900.
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение Aug 30 2011, 08:26
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(F E N I X @ Aug 30 2011, 12:01) *
Логика такая - есть проц - мастер, он постоянно общается с модулем, но, наступает необходимость перепрошить мастера, тогда в дело включается слейв, он закачивает прошивку во влеш память, вводит мастера в бут режим и заливает ее. Во время прошивки мастера слейв должен иметь связь с сотовой сетью.


Достаточно одного процессора. Умеющего себя перепрошивать по-частям. И достаточного объёма внешней Flash памяти для хранения прошивки процессора (её изменяемой части). Алгоритм такой: вначале прошивка принимается через модем и сохраняется в Flash-памяти. Потом копируется из Flash-памяти в память микроконтроллера. Последнее занимает несколько секунд, когда прибор не будет выполнять возложенные на него функции (а если это недопустимо -- тут-то и нужен второй контроллер, для критичных функций, либо один контроллер с возможностью выполнением кода из ОЗУ, либо один контроллер с двумя раздельными банками Flash-памяти программ). Разумеется, программа должна предусматривать пропадаение питания в момент перезаписи памяти и в таком случае начинать перезапись с начала... Можно использовать NOR-flash типа SST25VFxxx, например, подключается просто, стоит дёшево.

Сообщение отредактировал Frolov Kirill - Aug 30 2011, 08:27
Go to the top of the page
 
+Quote Post
F E N I X
сообщение Aug 30 2011, 08:41
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 21-07-10
Пользователь №: 58 544



Цитата(Палыч @ Aug 30 2011, 12:18) *
Как вариант:
1. Непосредственный доступ к СИМ900 имеет только второй МК (слэйв)
2. Первый МК (мастер) в рабочем режиме общается (отправляет команды, принимает ответ) с СИМ900 через второй МК. Например, если второй МК нужен исключительно для перепрошивки первого, то первый МК (мастер) может и не "знать", что он с СИМ900 общается через посредника (просто отправляет и принимает символы/байты по UART). Добавлено позже: Второй МК в этом случае должен быть с двумя UART: один используется для связи с СИМ900, второй - с мастером. Ежели второй МК в рабочем режиме тоже чтото делает, то для обмена между МК, не связанной с управлением СИМ900, можно использовать другой интерфейс (SPI, I2C, параллельный...).
3. В случае перепрошивки второй МК и так имеет доступ к СИМ900.


Хороший вариант, только вот с надежностью беда - когда связь с внешним миром идет через 2 последовательно соединенных контроллера ...
Это все делается для надежности - параллельно нагруженный резерв (помоему так) и если у нас с боевым процом (мастером) что то случается, мы всегда сможем через слейв восстановить его работу, либо на худой конец сказать что проц помер.

Сейчас у нас AT45DB юзается

Сообщение отредактировал F E N I X - Aug 30 2011, 08:41
Go to the top of the page
 
+Quote Post
stream
сообщение Aug 30 2011, 09:20
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919



Как я понял из задачи, один из контроллеров обязательно молчит, так что одновременная передача в модуль исключена. И что, два диода и правильные подтяжки не помогут?
Go to the top of the page
 
+Quote Post
molecul
сообщение Aug 30 2011, 09:28
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(F E N I X @ Aug 30 2011, 12:01) *
Необходимо подключить к SIM900 2 микроконтроллера, да так чтобы с обоих можно было управлять им AT командами. Но неодновременно.

Логика такая - есть проц - мастер, он постоянно общается с модулем, но, наступает необходимость перепрошить мастера, тогда в дело включается слейв, он закачивает прошивку во влеш память, вводит мастера в бут режим и заливает ее. Во время прошивки мастера слейв должен иметь связь с сотовой сетью.

есть вопрос
1) Как сделать так чтобы имелся доступ к уарту SIM 900 со второго проца? (Производители предлагают писать прошивку для модуля чтобы задействовать I2C)

Альтернативы SIM900 не рассматриваются? Есть аналогичные по цене модули с двумя UARTами..
Go to the top of the page
 
+Quote Post
F E N I X
сообщение Aug 30 2011, 10:44
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 21-07-10
Пользователь №: 58 544



Цитата(stream @ Aug 30 2011, 13:20) *
Как я понял из задачи, один из контроллеров обязательно молчит, так что одновременная передача в модуль исключена. И что, два диода и правильные подтяжки не помогут?


Чего то не соображу как ... Напиши пожалуйста подробнее, что ты имел ввиду.

Тут проблема в разграничении работы МК-ов, один вешаем ресетом - и он все ноги кверху подтягивает, а второй в этот момент должен работать.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Aug 30 2011, 11:11
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(F E N I X @ Aug 30 2011, 14:44) *
Чего то не соображу как ...
Вам предлагается:
1) выходы передатчиков МК объединить через диоды и завести на вход приёмника СИМ;
2) выход передатчика СИМ раздвоить и через резисторы завести на входы приёмников МК.
Go to the top of the page
 
+Quote Post
stream
сообщение Aug 30 2011, 11:35
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919



Цитата(F E N I X @ Aug 30 2011, 14:44) *
Чего то не соображу как ... Напиши пожалуйста подробнее, что ты имел ввиду.

На RS-232 активное состояние - 0. Так что берешь два диода (или один сдвоенный), общим анодом на RXD модуля, катодами - на TXD каждого из процессоров. Для RXD модуля теперь нужна подтяжка, если ее нет внутри модуля, берешь ее со Status SIM900 или чего-то аналогичного, чтобы избежать фантомного питания.

TXD модуля можно тупо соединить со входами RXD процессоров параллельно. Вопрос теоретической возможности фантомной запитки через подтяжки входов для простоты не рассматриваем (а то скатимся с этими фантомами в сплошную эзотерику, да и опять же от модуля зависит).
Цитата
Тут проблема в разграничении работы МК-ов, один вешаем ресетом - и он все ноги кверху подтягивает, а второй в этот момент должен работать.

Если ноги МК в этот момент будут входы с подтяжкой наверх - то все должно работать (можно, конечно, токи подтяжки проверить, чтобы ток нуля на TXD модуля не перетянуло)
Go to the top of the page
 
+Quote Post
Romashki
сообщение Aug 30 2011, 11:54
Сообщение #10


Местный
***

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



У СИМ900 для подтяжек есть V_EXT, только нужно расчитать резисторы, чтоб суммарное потребление с этого выаода не превысило 10 мА.
В целов с диодами (LL4148) - как развязочніе по питанию - работает без проблем - проверено.

Сообщение отредактировал Romashki - Aug 30 2011, 11:56
Go to the top of the page
 
+Quote Post
F E N I X
сообщение Aug 30 2011, 14:16
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 21-07-10
Пользователь №: 58 544



Цитата(Romashki @ Aug 30 2011, 15:54) *
У СИМ900 для подтяжек есть V_EXT, только нужно расчитать резисторы, чтоб суммарное потребление с этого выаода не превысило 10 мА.
В целов с диодами (LL4148) - как развязочніе по питанию - работает без проблем - проверено.


А ты именно такую схему пробовал? т.е. с 2 МК?
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 31 2011, 05:41
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



F E N I X

Поставте аналог вот такой микрухи (запитаете от V_EXT, жрёт меньше 5мА)

К217ЛД2

Прикрепленный файл  123.bmp ( 323.05 килобайт ) Кол-во скачиваний: 47


И будет вам счастье.

Сам использовал именно эту для того чтобы работать с модулем с компа и 2х МК одновременно (всмысле плдключённых одновременно, а так команды по времени надо разграничивать) . А можно конечно просто диодов насовать как выше советовали.

А можно вообще поставить 217ЛБ1А(Б) - получите ещё и развязку от фантомного питания.

Сообщение отредактировал MKdemiurg - Aug 31 2011, 05:48
Go to the top of the page
 
+Quote Post
Romashki
сообщение Aug 31 2011, 06:57
Сообщение #13


Местный
***

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



Цитата(F E N I X @ Aug 30 2011, 16:16) *
А ты именно такую схему пробовал? т.е. с 2 МК?

именно с 2мя мк не пробывал, но пробывал сим300 и параллельно уартом управляли двумя интерфейсами RS232 (через max232) и RS485 (через adm485).
Go to the top of the page
 
+Quote Post
F E N I X
сообщение Aug 31 2011, 13:37
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 21-07-10
Пользователь №: 58 544



Супер, все заработало!!! Всем спасибо.
Go to the top of the page
 
+Quote Post
=F8=
сообщение Sep 1 2011, 12:04
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Если НЕ одновременно то вообще не понимаю в чем проблема? Переводите ножку TX в 3-е состояние и все, никакого проводного ИЛИ как бы и не нужно.
PS А интересно с чем связана идея использовать для прошивки второй контроллер? Почему бы ему самому себя не прошивать?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 14:15
Рейтинг@Mail.ru


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