F40-43a (1041604), страница 59
Текст из файла (страница 59)
1.3304C8051F040/1/2/3БитДействие74, 76, 78, 80,82, 84, 86, 8875, 77, 79, 81,83, 85, 87, 8990, 92, 94, 96,98, 100, 102,10491, 93, 95, 97,99, 101, 103,105106, 108, 110,112, 114, 116,118, 120107, 109, 111,113, 115, 117,119, 121122, 124, 126,128, 130, 132,134, 136123, 125, 127,129, 131, 133,135, 137ЗахватОбновлениеЗахватЦелевой сигналРазрешение выхода P4.n от МКРазрешение выхода P4.n на выводВходной сигнал P4.n с выводаОбновлениеВыходной сигнал P4.n на выводЗахватРазрешение выхода P5.n от МКОбновлениеЗахватРазрешение выхода P5.n на выводВходной сигнал P5.n с выводаОбновлениеВыходной сигнал P5.n на выводЗахватРазрешение выхода P6.n от МКОбновлениеЗахватРазрешение выхода P6.n на выводВходной сигнал P6.n с выводаОбновлениеВыходной сигнал P6.n на выводЗахватРазрешение выхода P7.n от МКОбновлениеЗахватРазрешение выхода P7.n на выводВходной сигнал P7.n с выводаОбновление Выходной сигнал P7.n на вывод* ое = output enable (разрешение выхода)25.1.1.
Команда EXTESTКоманда EXTEST подается с помощью регистра IR. Регистр данных интерфейса граничногосканирования DR позволяет как управлять всеми выводами МК и слаботоковыми подтягивающимирезисторами, так и определять их состояние. Все входы к элементам встроенной логики установлены в 1.25.1.2. Команда SAMPLEКоманда SAMPLE подается с помощью регистра IR. Регистр данных интерфейса граничногосканирования DR используется для опроса защелок пути сканирования и их предварительной установки.25.1.3. Команда BYPASSКоманда BYPASS подается с помощью регистра IR. Она обеспечивает доступ к стандартному1-разрядному регистру-шунту (BYPASS регистру данных) интерфейса JTAG.25.1.4.
Команда IDCODEКоманда IDCODE подается с помощью регистра IR. Она обеспечивает доступ к 32-региструидентификатора устройства.Рисунок 25.2. DEVICEID: Регистр JTAG идентификатора устройстваВерсияБит 31Шифр компонентаБит 28 Бит 27Идентификатор производителяБит 12 Бит 11Версия = 0000bШифр компонента = 0000 0000 0000 0101b (C8051F040/1/2/3)Идентификатор производителя = 0010 0100 001b (Silicon Laboratories)305Ред. 1.31Бит 1 Бит 0Значениепри сбросе:0xn0005243C8051F040/1/2/325.2.
Команды программирования Flash-памятиFlash-память можно программировать непосредственно через интерфейс JTAG, используя следующиерегистры: Flash Control (регистр управления режимами чтения/записи Flash-памяти), Flash Data (регистрданных Flash-памяти), Flash Address (регистр адреса Flash-памяти) и Flash Scale (регистр делителя модуля Flashпамяти). Обращение к этим косвенным регистрам данных осуществляется через регистр команд интерфейсаJTAG.
Для выполнения операций чтения и записи косвенных регистров данных сначала необходимо установитьадрес соответствующего регистра данных DR в регистре команд IR. Затем каждая операция чтения или записиинициируется записью соответствующего косвенного кода операции в выбранный регистр данных.Поступающие в этот регистр команды имеют следующий формат:19:1817:0Косв. код операцииЗаписываемые данныеКосв. код операции: Эти биты определяют тип выполняемой операции в соответствии со следующей таблицей:Косв. код операции0x1011ОперацияОпросЧтениеЗаписьОперация «Опрос» используется для проверки бита занятости, как описано ниже.
Несмотря на то, чтопри опросе выполняется захват данных регистра DR, обновление регистра DR запрещено, поэтому опрос можетбыть осуществлен путем сдвига (в регистр/из регистра) одного единственного бита.Операция «Чтение» инициирует чтение из регистра, адресуемого регистром IR. Чтение можноинициировать сдвигом лишь двух бит в косвенный регистр данных. После того, как операция чтенияинициирована, необходимо выполнять опрос бита занятости, чтобы определить момент завершения операции.Операция «Запись» инициирует запись «записываемых данных» в регистр, адресуемый регистром IR.Могут быть записаны регистры с разрядностью до 18 бит включительно.
Если записываемый регистр содержитменее 18 бит, то записываемые данные должны быть выровнены влево, т.е. СЗР должен занимать бит 17. Этопозволяет использовать для записи более коротких регистров меньшее число тактовых циклов интерфейсаJTAG. Например, запись 8-разрядного регистра можно осуществить путем сдвига только 10 бит. После того,как операция записи инициирована, необходимо выполнять опрос бита занятости, чтобы определить момент,когда можно инициировать следующую операцию.
Содержимое регистра команд IR нельзя изменять, покавыполняются операции чтения или записи.Исходящие данные косвенного регистра данных имеют следующий формат:19018:1Считываемые данные0ЗанятоБит «Занято» показывает, что текущая операция не завершена. Он устанавливается в 1, когда операцияинициируется, и сбрасывается в 0, когда операция завершается. Команды чтения или записи игнорируются,пока бит занятости равен единице. В действительности, если за операцией опроса бита занятости на равенствонулю следует операция чтения или записи, то запись (посредством интерфейса JTAG) следующей операцииможно осуществлять во время проверки бита занятости на равенство нулю.
Следующая операция (чтения илизаписи) будет игнорироваться до тех пор, пока бит занятости читается как ноль, и будет инициирована, кактолько бит занятости станет равен единице. Бит «Занято» занимает бит 0 косвенного регистра данных, чтопозволяет опросить его путем одноразрядного сдвига. Когда при ожидании завершения операции чтения битзанятости становится равен нулю, можно сдвигать следующие 18 бит для получения результирующих данных.Считываемые данные всегда выровнены вправо.
Это позволяет для чтения регистров с разрядностью менее 18бит использовать меньшее число сдвигов. Например, для получения результата операции чтения байтатребуется 9 сдвигов (бит занятости + 8 бит данных).Ред. 1.3306C8051F040/1/2/3Рисунок 25.3. FLASHCON: Регистр управления режимами чтения/записи Flashпамяти интерфейса JTAG.SFLEWRMD2WRMD1WRMD0RDMD3RDMD2Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2RDMD1Бит 1RDMD0Значениепри сбросе:00000000Бит 0Этот регистр определяет, каким образом контроллер Flash-памяти будет реагировать на операции чтения изаписи в регистр FLASHDAT.Бит 7:SFLE: Разрешение доступа к области сверхоперативной Flash-памяти.Когда этот бит установлен, операции чтения/записи Flash-памяти будут относиться к 128-байтномусектору сверхоперативной Flash-памяти. Когда SFLE = 1, доступ к Flash-памяти по адресам запределами диапазона 0x00 – 0x7F запрещен.
Операции чтения/записи за пределами этогодиапазона приведут к непредсказуемым результатам.0: Операции с Flash-памятью относятся к 64-Кбайтному сектору Flash-памяти программ/данных.1: Операции с Flash-памятью относятся к 128-байтному сектору сверхоперативной Flash-памяти.Биты 6-4: WRMD2-0: Биты выбора режима записи.Биты выбора режима записи управляют реакцией контроллера Flash-памяти на операции записи врегистр FLASHDAT. Возможны следующие варианты:000: Запись регистра FLASHDAT заменяет данные в регистре FLASHDAT, но во всемостальном игнорируется.001: Запись регистра FLASHDAT инициирует запись содержимого FLASHDAT в ячейкупамяти, адресуемую регистром FLASHADR. После завершения содержимое регистраFLASHADR инкрементируется (увеличивается на 1).010: Запись регистра FLASHDAT инициирует стирание (установку всех байт в состояние0xFF) той страницы Flash-памяти, которая содержит адрес, указанный в регистреFLASHADR.
Чтобы стирание произошло, в регистр FLASHDAT должно быть записанозначение 0xA5. FLASHADR не изменяется. Если FLASHADR = 0x7DFE – 0x7DFF, тобудет стерто все доступное пользователю пространство памяти (т.е. вся Flash-память заисключением зарезервированной области 0x7E00 – 0x7FFF).(Все другие значения бит WRMD3-0 зарезервированы.)Биты 3-0: RDMD3-0: Биты выбора режима чтения.Биты выбора режима чтения управляют реакцией контроллера Flash-памяти на операции чтенияиз регистра FLASHDAT. Возможны следующие варианты:0000: Операция чтения регистра FLASHDAT возвращает данные из регистра FLASHDAT, ново всем остальном игнорируется.0001: Чтение регистра FLASHDAT инициирует чтение байта, адресуемого регистромFLASHADR, если на данный момент нет активных операций.
Этот режимиспользуется для чтения блоков памяти.0010: Чтение регистра FLASHDAT инициирует чтение байта, адресуемого регистромFLASHADR только в том случае, если на данный момент нет активных операций илюбые данные, полученные в результата предыдущей операции чтения, ужепрочитаны из регистра FLASHDAT. Этот режим позволяет читать одиночные байты(или последний байт блока) без инициации дополнительного чтения.(Все другие значения бит RDMD3-0 зарезервированы.)307Ред.
1.3C8051F040/1/2/3Рисунок 25.4. FLASHADR: Регистр адреса Flash-памяти интерфейса JTAG.Значениепри сбросе:0x0000Бит 15Бит 0Этот регистр содержит адрес для всех операций чтения/записи/стирания Flash-памяти интерфейса JTAG.Содержимое этого регистра автоматически инкрементируется после каждой операции чтения или записинезависимо от того, была ли операция успешной или неудачной.Биты 15-0: 16-разрядный адрес для операций с Flash-памятью.Рисунок 25.5.
FLASHDAT: Регистр данных Flash-памяти интерфейса JTAGDATA7 DATA6 DATA5 DATA4 DATA3 DATA2 DATA1 DATA0Бит 9Бит 8Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2FAILБит 1BUSYЗначениепри сбросе:0000000000Бит 0Этот регистр используется для чтения данных из Flash-памяти или записи данных во Flash-памятьпосредством интерфейса JTAG.Биты 9-2: DATA7-0: Байт данных Flash-памяти.Бит 1:Бит 0:FAIL: Бит ошибки операций с Flash-памятью.0: Предыдущая операция с Flash-памятью была успешной.1: Предыдущая операция с Flash-памятью была неудачной.соответствующая ячейка памяти была заблокирована.Обычнопоказывает,чтоBUSY: Бит занятости контроллера Flash-памяти.0: Контроллер Flash-памяти свободен.1: Контроллер Flash-памяти обрабатывает запрос.
Пока FBUSY = 1, чтение или запись не будутинициировать другую операцию.Ред. 1.3308C8051F040/1/2/325.3. Средства поддержки отладкиКаждый МК имеет встроенные интерфейс JTAG и средства отладки, которые обеспечивают«неразрушающую» внутрисхемную отладку в режиме реального времени с использованием МК,установленного в конечное изделие. Средства отладки фирмы Silicon Laboratories’ поддерживают проверку имодификацию памяти и регистров, расстановку точек останова, пошаговую отладку. При этом не требуетсяникаких специальных дополнительных ОЗУ, памяти программ или каналов связи. Во время отладки всецифровые и аналоговые периферийные модули не отключаются и работают корректно (остаются в режимесинхронизации).