имальною ємністю шини в 400 пФ. br/>В
рис.2.10 Основні параметри формованих сигналів при обміні по шині
В
рис.2.11 Основні особливості відпрацювання сигналу відповіді ACK від пристрою
контролер роботизований переміщення предмет
На представленому з технічної документації малюнку наочно видно що обмін починається з формування стартового імпульсу при SCL = 1 SDA опускається в 0. Далі в процесі обміну SDA перемикається тільки в моменти коли сигнал тактирования SCL = 0 інакше при SCL = 1 переклад сигналу SDA з 0 в 1 буде сприйматися як завершення циклу обміну і навпаки навіть без завершення новий стартовий сигнал буде служити для того, щоб забезпечити початок нового циклу. Після стартового імпульсу виконується передача першого байта префікса, далі майстер чекає від веденого поява на шині сигналу відповіді ACK і так даний сигнал формується після кожного переданого байта веденим, або після прийнятого байта майстром. br/>
Таблиця 2.4. Величини основних таймаутів при обміні даними по шині I2C
В
3. Програмне забезпечення МПС
.1 Алгоритм функціонування програми
При старті програми виконується ініціалізацію параметрів. p align="justify"> Далі відбувається ініціалізація послідовного каналу I2C для прийняття даних через радіо модуль. Читання або запис проходять по 10 байт: перші 6 байт вказують на початкове положення маніпулятора, наступні 2 байти вказують на напрям руху, і решту 2 байта вказують на тривалість руху (у десятках мс). br/>
.2 Опис алгоритму програми
В оголошенні змінних:
Через імена sbit s1, s2, s3 прив'язують відповідні порти контролю датчиків початкового положення затиску, винесення і розкриття стріли; ll - ліве перешкоду, rr-датчик правого перешкоди; scl, sda - використовуються для тактирования обміну через послідовні канали I2С c флеш пам'яттю; k1, k2 - порти, до яких підключені керуючі клавіші: клавіша 1 - Start stop, для контролю стану використовується прапор Startstop; так само використовується ще один прапор Readwrite, який потрібен для вказівки напряму передачі у флеш- ПЗУ; pozin - номер завантажується елемента; лічильники i, j, k, n, p; keyold - попереднє стан клавіатури для відстеження моменту натискання; p1, p2, p3 - задається положення по кожному з крокових двигунів; p11, p21, p31 - попередні положення по кожному з двигунів; command - команда від комп'ютера; hadrl - старша молодша частина адреси при записі читанні у флеш-ПЗУ; dd1, dd2, dd3, dd4, dd5 - використовують тільки молодшу тетраду для завдання керуючого слова. p align="justify"> Розглянемо основні процедури і обробники переривань, що використовуються в програмі.
Процедура dalay організовує затримку, кратну 5мс, щоб тактіровать передачу да...