Серийна комуникация между индустриален компютър и разпределена система за управление с един{0}}чип главен-подчинен

Jan 05, 2022

Остави съобщение

Дизайн на хардуерен интерфейс Системата за управление, описана в този документ, се състои от индустриален компютър и множество AT89C2051 едночипови компютри. Предаването на данни между главен и подчинен използва асинхронна серийна комуникация. Тъй като серийният комуникационен порт на индустриалния компютър е RS-232C интерфейс, неговото логическо ниво е симетрично спрямо земята, което е различно от изходното ниво на TTL от серийния порт на едночиповия микрокомпютър AT89C2051. Следователно е необходимо да се осигури надеждно предаване на данни между двете. Към комуникационната линия трябва да бъде свързан преобразувател на ниво. Чиповете за преобразуване на общо ниво включват чипове ICL232 и MAX232. Този текст използва чипа за преобразуване на ниво MAX232.

Множество единичен{{0}}компютърна комуникационна верига 2 с един чип 2.1 софтуерен дизайн 2.1 AT89C2051 единичен-компютър с един чип-компютърна комуникационна функция AT89C2051 единичен- микрокомпютър с един чип сериен порт има: сериен буфер за изпращане/буфер за получаване (SBUF), регистър за управление на сериен порт (SCON), регистър на специални функции (PCON). Има 4 работни режима чрез настройка на SCON, сред които работни режими 2 и 3 са подходящи за мулти{14}}компютърна комуникация. Режимът на серийна комуникация 3 на едночиповия микрокомпютър AT89C2051 е 9-битов асинхронен комуникационен режим с променлива скорост на предаване и също така е най-широко използвания режим в мултикомпютърната комуникация в момента . Тук AT89C2051 предава рамка от информация с общо 11 бита: 1 начален бит, 8 бита данни, 1 бит може да бъде програмиран да бъде 9-ти бит от "1" или "0" и 1 стоп бит, сред които деветият бит на данни може да се използва като бит за четност и може също да се използва като идентификационен флаг за "адресна рамка" и "кадър от данни".

Индустриална компютърна комуникационна функция Индустриалният компютър е оборудван със сериен асинхронен комуникационен порт (адресът на порта COM1 е 3f8H, адресът на порта CM2 е 2f8H), а универсалният асинхронен приемник/предавател (UART) на интерфейсната платка е част от 8250 или част от структурата, метод на програмиране Същият чип като 8250 с 10 регистъра вътре. Компютърно програмиране на серийна комуникация, програмистите трябва само да използват команди за вход/изход за въвеждане/извеждане на регистрите в UART, така че да зададат скоростта на серийната комуникация, формата на предаване на данни, дали да разрешават прекъсвания, изпращане или получаване на данни Изчакайте.

Нов метод за комуникация с няколко{0}}машини При конвенционалния много-комуникационен метод, битът за четност е използван като характеристичен бит на изпращащия адресен код (номер на канал) или данни и проверката на комуникацията на данни приема метода за натрупване и проверка. Използването на този метод не само увеличава разходите за софтуера и количеството данни за комуникация, но също така се отразява на-производителността в реално време. 2.3.1 Основни принципи на комуникация

Данните са 5 2 - директно зададени на "0" и правят плюс , изчистват, тогава без значение каква е стойността на данните от деветия бит ( плюс 9 8), долният компютър може да генерира прекъсване на серийното приемане, така че деветият бит може да се използва и като бит за четност за откриване на грешки. Например, когато горният компютър комуникира с долния компютър, първо се изпраща адресният код и след това командата за данни се изпраща след успешното ръкостискане. По това време ФЛАГЪТ на долния компютър е настроен на "1", което е еквивалентно на отворения "джоб" на машината. Компютърът непрекъснато извлича данни от компютъра с по-ниска-позиция и издава команда за възстановяване на ФЛАГА в компютъра с долна позиция до „0“ след извличане без грешка, за да се реализира „затваряне на джоба“.

Когато долният компютър изпраща данни към горния компютър, той първо изпраща дължината на данните, които трябва да бъдат предадени, и след това започва да изпраща валидни данни.

Прието е, че {{0}}H е командата за извличане, 0FFH е командата за нулиране, комуникацията приема четен паритет и скоростта на предаване е зададена на 240{ {9}} b/s. Схемата на основната функция на компютъра е дадена по-горе, както е показано. Програмата за комуникация с компютър е написана на език VC plus plus 6.{12}}. Комуникационният модул на долния едночипов -микрокомпютър включва основната програма и програмата за обслужване на прекъсвания, като диаграмата на нейната програма е показана съответно в и съответно. Как да осъществя -един- комуникация между горния компютър и долния компютър със съответния адрес за изпращане? Може да се използва софтуерен метод. Специфичният метод е следният: флаг променлива FLAG се настройва в долната компютърна програма и FLAG се настройва на "0" по време на инициализацията. Когато горният компютър изпраща данни, всеки долен компютър ще генерира прекъсване за получаване и рутинната услуга за прекъсване първо преценява стойността на локалния FLAG. . Ако FLAG е "0", сравнете получените данни с локалния адрес, ако е последователен, задайте FLAG на 6" и изпратете обратно кода на локалния адрес като отговор, в противен случай изскочете незабавно от рутинната услуга за прекъсване; ако FLAG е "1" , което показва, че управляващата команда, изпратена от горния компютър, се прехвърля към съответната програма за обработка на команди и накрая излиза от рутинната услуга за прекъсване и се връща към основната програма. След комуникацията между горния компютър и долния компютърът е завършен, FLAG на долния компютър е настроен на "0". Ако ръкостискането е неуспешно, горният компютър изпраща команда за нулиране към долния компютър и след това стартира ръкостискането отново, ако не успее три пъти, той ще се включи за обработка на грешки.

Метод на внедряване и мерки за надеждност на индустриалния компютърен софтуер ①Номерирайте всеки по-нисък компютър и го използвайте като адресен код на компютъра.

Заключение Тази статия очертава само един метод за сериен интерфейс на разпределената система за управление, но има много методи за комуникационен интерфейс между всяка машина, като: директна връзка на сериен порт (когато разстоянието е малко), връзка през модем и т.н. на софтуерното програмиране, подчинената машина е директно написана на асемблерния език на микрокомпютъра с един{0}}чип; и модулът за комуникационна подпрограма на индустриалния компютър може също да бъде реализиран на различни езици. Следователно, в конкретния дизайн на системата, един от методите може да бъде избран в съответствие с действителната ситуация, а технологията за откриване на грешки и коригиране на грешки може да бъде разгледана в програмирането и може да бъде завършена надеждна комуникация.

Изпрати запитване