F60-67 (1041605), страница 42
Текст из файла (страница 42)
1.2ПримечанияЗапись разрешается битом TESTрегистра CAN0CNCAN0ADR автоинкрементируется виндексном диапазоне IF1 (0х08 –0х12) при записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируется виндексном диапазоне IF2 (0х20 –0х2A) при записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLCAN0ADR автоинкрементируетсяпри записи в CAN0DATLФлаги запросов передачи для буферовсообщений (только для чтения)Флаги запросов передачи для буферовсообщений (только для чтения)230C8051F060/1/2/3/4/5/6/7Таблица 19.1.
Индексы CAN-регистров и их значения, устанавливаемые при сбросе(продолжение)Индекс CANрегистра0х480х49Название регистраЗначениепосле сбросаНовые данные 10х0000Новые данные 20х0000Ожидание прерывания 10х500х0000Ожидание прерывания 20х510х0000Достоверность сообщения 10х580х0000Достоверность сообщения 20х590х0000ПримечанияФлаги новых данных для буферовсообщений (только для чтения)Флаги новых данных для буферовсообщений (только для чтения)Флаги ожидания прерывания длябуферов сообщений (только длячтения)Флаги ожидания прерывания длябуферов сообщений (только длячтения)Флаги достоверности сообщения длябуферов сообщений (только длячтения)Флаги достоверности сообщения длябуферов сообщений (только длячтения)Рисунок 19.3. CAN0DATH: Старший байт регистра данных CANR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес: 0xD9SFR страница: 1Биты 7-0: CAN0DATH: Старший байт регистра данных CAN.Регистры CAN0DAT используются для чтения/записи значений и данных из/в CAN-регистров(-ы),на которые указывает индексный номер, содержащийся в регистре CAN0ADR.Регистр CAN0ADR используется для адресации регистров данных [CAN0DATH:CAN0DATL]требуемого CAN-регистра.Индексный номер требуемого CAN-регистра записывается в регистр CAN0ADR.
После этогорегистр CAN0DAT можно использовать для записи/чтения в/из CAN-регистр(-а).Рисунок 19.4. CAN0DATL: Младший байт регистра данных CANR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000001Бит 7SFR Адрес: 0xD8SFR страница: 1Биты 7-0: CAN0DATL: Старший байт регистра данных CAN.Регистры CAN0DAT используются для чтения/записи значений и данных из/в CAN-регистров(-ы),на которые указывает индексный номер, содержащийся в регистре CAN0ADR.Регистр CAN0ADR используется для адресации регистров данных [CAN0DATH:CAN0DATL]требуемого CAN-регистра.Индексный номер требуемого CAN-регистра записывается в регистр CAN0ADR.
После этогорегистр CAN0DAT можно использовать для записи/чтения в/из CAN-регистр(-а).231Ред. 1.2C8051F060/1/2/3/4/5/6/7Рисунок 19.5. CAN0ADR: Индексный регистр адреса CANR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес: 0xDASFR страница: 1Биты 7-0: CANADR: Индексный регистр адреса CAN.Регистр CAN0ADR используется для адресации регистров данных [CAN0DATH:CAN0DATL]требуемого CAN-регистра.Индексный номер требуемого CAN-регистра записывается в регистр CAN0ADR.
После этогорегистр CAN0DAT можно использовать для записи/чтения в/из CAN-регистр(-а).Примечание: Если содержимое регистра CAN0ADR соответствует диапазонам 0х08 – 0х12 и 0х20 –0х2А (регистры IF1 и IF2), то этот регистр будет автоинкрементироваться при записи в регистр CAN0DATL(см. раздел 18.2.6).Функции/определения всех CAN-регистров перечислены и описаны в руководстве Bosch CANUser’s Guide.Рисунок 19.6. CAN0CN: Регистр управления CANR/W*Бит 7R/W*R/W*RCANIFR/W*R/W*R/W*R/W*Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:SFR Адрес: 0xF8SFR страница: 1Бит 4: CANIF: Флаг прерывания CAN. Запись не вызывает никаких действий.0: Прерывание CAN не зафиксировано.1: Прерывание CAN произошло и активно.CANIF управляется CAN-контроллером и сбрасывается аппаратно после сброса всех условийвозникновения прерываний в CAN-контроллере.
Более подробная информация относительно прерываний отCAN-контроллера приведена в разделе 3.4.1 руководства Bosch CAN User’s Guide.* Функции/определения всех CAN-регистров перечислены и описаны в руководстве Bosch CANUser’s Guide, за исключением бита CANIF.Доступ к этому регистру можно осуществлять как непосредственно в адресном пространстве SFRрегистров CIP-51, так и косвенно при помощи индексного метода (см.
раздел 19.2.5).Ред. 1.2232C8051F060/1/2/3/4/5/6/7Рисунок 19.7. CAN0TST: Регистр тестирования CANR/WR/WR/WR/WR/WR/WR/WR/WПолное определение этого регистра приведено в руководстве Bosch CAN User’s GuideБит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:SFR Адрес: 0xDBSFR страница: 1Функции/определения всех CAN-регистров перечислены и описаны в руководстве Bosch CANUser’s Guide.Доступ к этому регистру можно осуществлять как непосредственно в адресном пространстве SFRрегистров CIP-51, а также косвенно при помощи индексного метода (см. раздел 19.2.5).Рисунок 19.8.
CAN0STA: Регистр состояния CANR/WR/WR/WR/WR/WR/WR/WR/WПолное определение этого регистра приведено в руководстве Bosch CAN User’s GuideБит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:SFR Адрес: 0xC0SFR страница: 1Функции/определения всех CAN-регистров перечислены и описаны в руководстве Bosch CANUser’s Guide.Доступ к этому регистру можно осуществлять как непосредственно в адресном пространстве SFRрегистров CIP-51, а также косвенно при помощи индексного метода (см. раздел 19.2.5).233Ред. 1.2C8051F060/1/2/3/4/5/6/7Ред.
1.2234C8051F060/1/2/3/4/5/6/720. Модуль SMBus / I2C (SMBUS0)Интерфейс ввода/вывода SMBus0 представляет собой двухпроводную двунаправленнуюпоследовательную шину. SMBus0 соответствует System Management Bus Specification (версия 1.1) иподдерживает обмен данными по протоколу I2C. Системный контроллер считывает данные с последовательнойшины и записывает их в последовательную шину побайтно с помощью модуля SMBus, который автоматическиуправляет последовательной передачей данных. Для обеспечения возможности работы устройств с различнойскоростью передачи данных на одной шине используется метод растягивания синхросигнала за счет удержаниянизкого уровня.SMBus0 может работать в режимах ведущего и/или ведомого, а также может функционировать на шинес несколькими ведущими.
SMBus0 обеспечивает управление линией SDA (последовательные данные),генерацию тактовых импульсов SCL и синхронизацию, арбитраж, управление битами START/STOP и ихгенерацию.Рисунок 20.1. Структурная схема модуля SMBus0SFR шинаSMB0CNBUSYSMB0STAE S S S A F TN T T I A T OS A OE EMBSTA7STA6STA5STA4STA3STA2SMB0CRSTA1STA0C C C C C C C CR R R R R R R R7 6 5 4 3 2 1 0Логика делителятактовой частотыSYSCLKУправляющая логика модуля SMBUSАрбитражУправлениеСинхронизация по сигналу SCLГенерирование сигналов состоянияSCLГенерирование тактового сигнала SCL (в режиме ведущего)Генерирование прерыванийУправлениеУправлениетрактом данныхSDABNA=BA=BЗапроспрерыванияМАТРИЦАПрерываниеот модуляSMBUSSCLФИЛЬТРABA0000000b7 MSBs87SMB0DAT7 6 5 4 3 2 1 08SLV6SLV5SLV4SLV3SLV2SLV181SLV G0 CN0ЧтениеSMB0DATSMB0ADRЗапись вSMB0DATSFR шина235SDAФИЛЬТРРед. 1.2Портввода/выводаC8051F060/1/2/3/4/5/6/7На рис.20.2 приведена типичная схема подключения к шине SMBus.
Интерфейс SMBus0 способенработать при любом напряжении от 3.0 до 5.0В, а различные устройства на шине могут иметь различныенапряжения питания. Линии SCL (тактовые импульсы) и SDA (последовательные данные) являютсядвунаправленными. Необходимо подать на них положительное напряжение питания через подтягивающийрезистор или подобную схему. Каждое устройство, подключенное к шине, должно иметь выход с открытымстоком или с открытым коллектором как для линии SCL, так и для линии SDA; тогда при свободной шине обелинии будут «подтянуты» к напряжению высокого логического уровня.
Максимальное количество устройств нашине ограничивается только следующим требованием: время нарастания и спада сигнала на линиях шины недолжно превышать 300нс и 1000нс соответственно.Рисунок 20.2. Подключение к шине SMBusVDD = 3ВVDD = 5ВVDD = 3ВВедущееустройствоВедомоеустройство 1Ведомоеустройство 2VDD = 5ВSDASCL20.1. Техническая документацияПредполагается, что читатель знаком со следующими техническими документами или имеет доступ к ним:1. The I2C-bus and how to use it (including specifications), Philips Semiconductor.2. The I2C-Bus Specification -- Version 2.0, Philips Semiconductor.3. System Management Bus Specification -- Version 1.1, SBS Implementers Forum.20.2. Протокол SMBusВозможны два режима передачи данных: передача данных от ведущего передатчика к адресуемомуведомому приемнику (ЗАПИСЬ) и передача данных от адресуемого ведомого передатчика к ведущемуприемнику (ЧТЕНИЕ).