Отговори на тема  [ 43 мнения ]  Отиди на страница 1, 2, 3  Следваща
Два серийни порта на един PIC??? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Сеп 27, 2004 8:48 pm
Мнения: 59
Местоположение: София
Мнение Два серийни порта на един PIC???
Здравейте,
Искам да управлявам GSM с АТ команди и ще ползвам серийния порт на процесора за връзка с GSMa.
Обаче искам процесора да чете и данни от ГПС модул, та ми трябва още един сериен порт. Засега имам опит само с PIC.

Та какви са вариантите да комуникирам и с двата модула?
Загледах се в 16-та серия на PIC но не видях да има процесори с два серийни порта.
Иска ми се да следя непрекъснато и двата модула, а не да прехвърлям серийния порт от единия на другия през определен интервал.


Чет Мар 08, 2007 5:29 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Е питаш или разсъждаваш на глас?

PIC16 явно няма да ти свърши работа. Ползвай PIC18(64 пина и нагоре) или PIC24. Или смени пройзводителя.

А и за това което искаш PIC16 ще е доста ограничен като ресурси, по комфортно ще се чувстваш в по-големите.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Мар 08, 2007 5:43 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
аз правя точно такова, с 16ф873, и ползвам електронен ключ. усарта е включен към телефона, и когато се позвани, тогава се превключва към гпс-а и се прочитат координатите, след което се връща пак на гсм-а и се пращат като смс


Пет Мар 09, 2007 8:38 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
Ако искаш с малък пик може и софтуерен усарт да си напишеш ама ще е гърч. На didofen идеята е добра като вариант. Иначе минаваш на варианта на Цецо.


Пет Мар 09, 2007 9:50 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Фев 25, 2007 3:10 pm
Мнения: 47
Местоположение: София
Мнение 
Има и още един вариант, който аз ползвам... Преобразуване от SPI към USART... Чипа който ползвам е MAX3100! Аз лично съм много доволен от него и не съм имал проблеми (ползвам го от около 8 години)!

_________________
Практиката започва там, където теорията свършва!


Пет Мар 09, 2007 9:52 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
о, верно, не съм се сетил за преобразуване на протокола :-) ще го пробвам в понеделник


Пет Мар 09, 2007 9:58 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Сеп 27, 2004 8:48 pm
Мнения: 59
Местоположение: София
Мнение 
ОК, мерси за отоговорите.
Като чета вариантите, може би най-лесно за мен ще е да комутирам серийния канал между двете устройства.

10х. :)


Пет Мар 09, 2007 10:13 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение He
peterhr написа:
ОК, мерси за отоговорите.
Като чета вариантите, може би най-лесно за мен ще е да комутирам серийния канал между двете устройства.

10х. :)

Че какво пречи софтуерно да се направи не е кои знае какъв гърч, така може да ползваш не 2 канала ами колкото искаш , трябва да си ги степенуваш и софтуерно да ги обхождаш , ще прецениш кои е най важен и тои ще е първи.Така избягваш отвън други устроиства които пак трябва да се управляват по същия начин .


Съб Мар 10, 2007 8:34 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
Дори бих казал че не е никакъв гърч.
Например в ПРОТОН- а се прави така:
Команда за хардуерния приемник HSERIN си има софтуерен аналог SERIN
Аналогично е за предаването на данни HSEROUT -> SEROUT .
Нарочваш си пинове които са ти удобни при декларирането в началото и готово.

П.П.
Времето за писанате на този пост = времето за конфигурация на серйна връзка.


Съб Мар 10, 2007 10:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
серийната комуникация реализирана софтуерно си е гърч за ядрото. Ако комуникацията е бавна (9600) и така или иначе ядрото бездейства - нищо лошо да я скалъпи и софтуерно. Ама ако ще бръмчи асинхронно 2 канала поток от данни на 115200 при това на различни протоколи - а да го видя как ще го наблъска в 16ка със софтуерен UART.

Въпрос на конкретно приложение

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пон Мар 12, 2007 11:51 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Сеп 27, 2004 8:48 pm
Мнения: 59
Местоположение: София
Мнение 
Да, вярно е, въпрос на конкретно приложение и най-вече умения на разработващият :)

Комуникацията е бавна :)

9600 и на двата канала, даже може на единия да беше 4800.
Ама софтуерно засега ми е трудно да направя сериен порт.

Първо ще подкарам връзката с ГСМ-а а след това ще мисля за ГПС-а.


Пон Мар 12, 2007 11:58 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
повечето гсм-и са на 19200, моя сименс с 45 поне е на толкова. а гпс-а е на 9600, дори има и на 4800. така че по лесно ще си подкараш гпс-а от колкото гсм-а.


Пон Мар 12, 2007 1:11 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение мне
didofen написа:
повечето гсм-и са на 19200, моя сименс с 45 поне е на толкова. а гпс-а е на 9600, дори има и на 4800. така че по лесно ще си подкараш гпс-а от колкото гсм-а.

Бъркаш повечето поддържат 9600 , но не всички могат да работят до 115200 , така че мисля че не е проблем да си е 9600 , добре е да се степенува комуникацията според това коя заявка се обработва , най добре е която е с приоритет да си мине на прекъсване а което не е , да се прави в самата програма.
Дори може да се ползва един вграден USART и един софтуерен :)
Например 16F88 и 16F688 си имат вграден такъв модул , прави се приоритетното да прекъсва към USART при препълване на буфера, и тогава си обработваш заявката да речем на GSM-a, дори има в тия модели ауто опознаване на скороста , а за софтуерния USART когато е необходимо подаваш АТ команда и го чакаш софтуерно да ти върне отговор с 9600. :)
Така няма да имаш проблем със скороста дори при 4 MHz . :D


Пон Мар 12, 2007 4:18 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
Нищо не пречи и софтуерния да се сдобие с прекъсване ако се избере за вход подходящо краче на процесора.


Пон Мар 12, 2007 5:20 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Mda
rumen написа:
Нищо не пречи и софтуерния да се сдобие с прекъсване ако се избере за вход подходящо краче на процесора.

Прав си и на него може стига да не съвпада крачето с това на RX входа , но мисля че RX например при 16F688 е на PORTC.5 , а INТ се шпадаше на PORTA.2 така че би трябвало да стане . :)


Пон Мар 12, 2007 7:28 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 43 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни