| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Ехо при RS232 комуникация http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=9316 |
Страница 1 от 1 |
| Автор: | amdatlon [ Съб Сеп 03, 2011 9:00 pm ] |
| Заглавие: | Ехо при RS232 комуникация |
Здравейте, Постановката е следната: Pic 18F6722 , на 32Mhz( 8Mhz кварц и PLL4) , си "приказва" със външно устройство чрез серийна комуникация . Външното устройство има една линия за комуникация ( двупосочна) , интерфейса м/у пик-а и у-вото е МC33290( ISO K Line Serial Link Interface) Протокола е : Пик-а запитва ( чрез 1 байт ) - у-вото отговаря с един байт , и така до безкрай Проблема ми е : Получава се ехо . Пик-а праща един байт ( примерно 0xFE ) и преминава в към други задачи , като при постъпване на отговор влиза в прекъсване и го прочита. Първия прочетен байт от Пик-а е пак 0xFE и чак след него пристига това което е пратено от външното у-во ( применро 0xЕ5) Предишната версия на платката беше със 18F458 и със същия итерфейс за връзка , но такова ехо не съм имал. Пращах един байт и прочитах един байт. Но там не ползвах прекъсване за четенето на отговора и процедирах така : пращам запитването и започва изчакване определено време за отговор. Проблема за сега съм го изолирал с двойно четене на отговора от у-вото : първия път чета ехото и после това което ми трябва. Но не ми се вижда добро решение, за това ако някой има идея защо се получава така ще бъда Благодарен за помоща Използвам PIC CCS компилатор , ако е нужно ще пусна и код ! |
|
| Автор: | ike [ Съб Сеп 03, 2011 11:18 pm ] | |||||||||
| Заглавие: | Re: Ехо при RS232 комуникация | |||||||||
Дай ми платката и ще я свържа към моя компютър, за да видя дали външното устройство връща ехо. Ако е така, значи проблема е във външното устройство, а ако не е така, значи проблема е във вътрешното устройство. |
||||||||||
| Автор: | amdatlon [ Нед Сеп 04, 2011 12:49 am ] |
| Заглавие: | Re: Ехо при RS232 комуникация |
Забравих да спомена че също съм направил симулатор на външното у-во , на компа си . От там със един USB -> RS232 , който е на база FT232RL , отива към ПИК-а . Наблюдавам трансфера на данни с PortMonNT . Проблема със сигурност не във външното у-во , то комп на кола ECU . Най вероятно ехото е от Пик-а и програмата ( и по точно използването на прекъсване за четене на данните ) , тъй като с другия Пик и същите останали компоненти няма ехо !?! |
|
| Автор: | bateAz [ Нед Сеп 04, 2011 10:36 am ] |
| Заглавие: | Re: Ехо при RS232 комуникация |
Според мен ще има ехо. Не ми е ясно само защо на предишната платка с PIC18F458 не си имал. Явно там нещо си объркал ... |
|
| Автор: | amdatlon [ Нед Сеп 04, 2011 11:31 am ] | |||||||||
| Заглавие: | Re: Ехо при RS232 комуникация | |||||||||
Значи да не си блъскам главата повече , явно е нормално Ами и аз се чудя защо на предишната платка нямаше ехо? То буквално платката и сега е същата , новия пик съм го присадил на мястото на стария ( за тестовете) , и даже сорс кода 99 % е същия . Разликата е само наличието на прекъсване за четене на RS232 канала . Преди с PIC18F458 си бачкаше нормално, но ми отесня от към програмна памет |
||||||||||
| Автор: | RM [ Нед Сеп 04, 2011 12:44 pm ] |
| Заглавие: | Re: Ехо при RS232 комуникация |
Тва май не е никакво ехо. Най намирисва на объркан софт. Тва че четеш последния изпратен байт и след това четеш върнатия ... виж си буферите ... дали в памета изпрашашия и приемащия буфер не са един след друг и първия да не е терминиран ... Ехо-то е друго , но още не съм срещал хардуерно ехо |
|
| Автор: | itso.t [ Нед Сеп 04, 2011 1:03 pm ] |
| Заглавие: | Re: Ехо при RS232 комуникация |
Проблемът е "хардуерен" ако може така да се изразя. K-line интерфейсът, обединява RX и TX в обща шина. Каквото изпратиш по TX се получава директно на RX. |
|
| Автор: | amdatlon [ Нед Сеп 04, 2011 1:07 pm ] | |||||||||
| Заглавие: | Re: Ехо при RS232 комуникация | |||||||||
E то най вероятно е софта ама какво бъркам , не мога да разбера. Ползвам стандартен начин за обработка на данните ( CCS ) , не пипам директно паметта. Последно опростих сорса само за комуникация но проблема остава: Пълни се буфер при всяко прекъсване и после се чете от него . Буфера изглежда така [FE] [E5] [FF] [0C]...........[ ] Ето кода , тук работи защото чета първо ехото и после нужното. T.e. мога да чета буфера през една клетка като пропускам ехото , но проблема че го има остава .
|
||||||||||
| Автор: | amdatlon [ Нед Сеп 04, 2011 1:20 pm ] | |||||||||
| Заглавие: | Re: Ехо при RS232 комуникация | |||||||||
Това го забелязах от страна на PC-то като писах симулатора, там си има ехо и до колкото разбрах е нормално за този интерфейс , но не мислех че и от към ПИК-а е така |
||||||||||
| Автор: | Cekins [ Нед Сеп 04, 2011 6:18 pm ] |
| Заглавие: | Re: Ехо при RS232 комуникация |
Ами то няма как да нямаш ехо ако RX и TX са обединени. И понеже приемника работи независимо от предавателя, така квото пратиш дирекшън ти влиза в RX-а и на стоп бита си генерира прекъсване |
|
| Автор: | amdatlon [ Нед Сеп 04, 2011 8:15 pm ] |
| Заглавие: | Re: Ехо при RS232 комуникация |
Благодаря на всички за разясненията явно така ще да е работата . Явно съм останал с убеждението че ISO k-line драйвера разделя Rx и Tx ( да са независими ) от ПИК-а до него . Но май бъркам |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|