F00-17 (1041601), страница 38
Текст из файла (страница 38)
20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/721.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 бит данных).4.2002; Rev. 1.4CYGNAL Integrated Products, Inc. 2002Page 165C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7Рисунок 21.3. FLASHCON: Регистр управления режимами чтения/записиFlash-памяти интерфейса JTAG.WRMD3WRMD2WRMD1WRMD0RDMD3RDMD2RDMD1Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1RDMD0Бит 0Значениепри сбросе:00000000Этот регистр определяет, каким образом логика интерфейса Flash-памяти будет реагировать наоперации чтения и записи в регистр FLASHDAT.Биты 7-4: WRMD3-0: Биты выбора режима записи.Биты выбора режима записи управляют реакцией логики интерфейса на операции записи врегистр FLASHDAT.
Возможны следующие варианты:0000: Запись регистра FLASHDAT заменяет данные в регистре FLASHDAT, но во всемостальном игнорируется.0001: Запись регистра FLASHDAT инициирует запись содержимого FLASHDAT в ячейкупамяти, адресуемую регистром FLASHADR. После завершения содержимое регистраFLASHADR инкрементируется (увеличивается на 1).0010: Запись регистра FLASHDAT инициирует стирание (установку всех байт в состояние0xFF) той страницы Flash-памяти, которая содержит адрес, указанный в регистреFLASHADR. Чтобы стирание произошло, в регистр FLASHDAT должно быть записанозначение 0xA5.
FLASHADR не изменяется. Если FLASHADR = 0x7DFE – 0x7DFF, тобудет стерто все доступное пользователю пространство памяти (т.е. вся Flash-память заисключением зарезервированной области 0x7E00 – 0x7FFF).(Все другие значения бит WRMD3-0 зарезервированы.)Биты 3-0: RDMD3-0: Биты выбора режима чтения.Биты выбора режима чтения управляют реакцией логики интерфейса на операции чтения изрегистра FLASHDAT. Возможны следующие варианты:0000: Операция чтения регистра FLASHDAT возвращает данные из регистра FLASHDAT, ново всем остальном игнорируется.0001: Чтение регистра FLASHDAT инициирует чтение байта, адресуемого регистромFLASHADR, если на данный момент нет активных операций.
Этот режимиспользуется для чтения блоков памяти.0010: Чтение регистра FLASHDAT инициирует чтение байта, адресуемого регистромFLASHADR только в том случае, если на данный момент нет активных операций илюбые данные, полученные в результата предыдущей операции чтения, ужепрочитаны из регистра FLASHDAT. Этот режим позволяет читать одиночные байты(или последний байт блока) без инициации дополнительного чтения.(Все другие значения бит RDMD3-0 зарезервированы.)Рисунок 21.4. FLASHADR: Регистр адреса Flash-памяти интерфейса JTAG.Бит 0Бит 15Значениепри сбросе:0x0000Этот регистр содержит адрес для всех операций чтения/записи/стирания Flash-памяти интерфейсаJTAG.
Содержимое этого регистра автоматически инкрементируется после каждой операции чтенияили записи независимо от того, была ли операция успешной или неудачной.Биты 15-0: 16-разрядный адрес для операций с Flash-памятью.Page 166CYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7Рисунок 21.5. FLASHDAT: Регистр данных Flash-памяти интерфейса JTAGDATA7DATA6DATA5DATA4DATA3Бит 8Бит 7Бит 6Бит 5Бит 9DATA2DATA1DATA0FAILFBUSYБит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:0000000000Этот регистр используется для чтения данных из Flash-памяти или записи данных во Flash-памятьпосредством интерфейса JTAG.Биты 9-2: DATA7-0: Байт данных Flash-памяти.Бит 1:FAIL: Бит ошибки операций с Flash-памятью.0: Предыдущая операция с Flash-памятью была успешной.1: Предыдущая операция с Flash-памятью была неудачной. Обычно показывает, чтосоответствующая ячейка памяти была заблокирована.Бит 0:FBUSY: Бит занятости интерфейса Flash-памяти.0: Логика интерфейса Flash-памяти свободна.1: Логика интерфейса Flash-памяти обрабатывает запрос.
Пока FBUSY = 1, чтение или записьне будут инициировать другую операцию.Рисунок 21.6. FLASHSCL: Регистр делителя модуляFlash-памяти интерфейса JTAGFOSEFRAE--Бит 7Бит 6Бит 5Бит 4FLSCL3FLSCL2Бит 3Бит 2FLSCL1FLSCL0Бит 1Бит 0Значениепри сбросе:00000000Этот регистр управляет схемой установки временных интервалов для операции чтения Flash-памяти иделителем, необходимым для генерации корректных временных интервалов, требуемых модулем Flashпамяти для выполнения операций записи/стирания.Бит 7: FOSE: Бит включения ждущего таймера модуля Flash-памяти.0: Строб чтения Flash-памяти имеет ширину, равную полному тактовому циклу.1: Строб чтения Flash-памяти имеет ширину, равную 50 нс.Бит 6: FRAE: Бит разрешения постоянного чтения Flash-памяти.0: Flash-выход и усилитель считывания включены только тогда, когда это необходимо длявыполнения операции чтения Flash-памяти.1: Flash-выход и усилитель считывания включены всегда.
Это может использоваться дляограничения колебаний потребляемого (от источника питания цифровых модулей) тока,вызываемых включением/отключением усилителей считывания, что позволяет уменьшитьнаведенный цифровой шум.Биты 5-4: Не используются. Читаются как 00b.Биты 3-0: FLSCL3-0: Биты управления делителем модуля Flash-памяти.Биты FLSCL3-0 управляют делителем, используемым для генерации сигналов тактированияопераций с Flash-памятью. Значение этих бит должно быть записано до инициации какойлибо операции с Flash-памятью.
Значение делителя должно быть наименьшим целымзначением, удовлетворяющим следующей формуле:FLSCL[3:0] > log2(fSYSCLK / 50кГц),где fSYSCLK – частота системного тактового сигнала. Если FLSCL[3:0] = 1111b, то всеоперации записи/стирания Flash-памяти запрещены.4.2002; Rev. 1.4CYGNAL Integrated Products, Inc. 2002Page 167C8051F000/1/2/5/6/7C8051F010/1/2/5/6/721.3. Средства поддержки отладкиКаждый МК имеет встроенные интерфейс JTAG и средства отладки, которые обеспечивают«неразрушающую» внутрисхемную отладку в режиме реального времени с использованием МК,установленного в конечное изделие.
Для отладки используются четыре вывода интерфейса JTAG. Средстваотладки фирмы Cygnal поддерживают проверку и модификацию памяти и регистров, расстановку точекостанова и временных меток, пошаговую отладку, а также запуск команд на выполнение и их остановку. Приэтом не требуется никаких специальных дополнительных ОЗУ, памяти программ или каналов связи. Во времяотладки все цифровые и аналоговые периферийные модули не отключаются и работают корректно. Приостановке МК в точке останова или при пошаговой отладке сторожевой таймер отключается.Комплекты средств разработки C8051F000DK, C8051F005DK, C8051F010DK, C8051F015DK для МКC8051F000/1/2, F005/6/7, F010/1/2, F015/6/7 соответственно содержат все необходимые аппаратные ипрограммные средства для разработки программного кода и выполнения внутрисхемной отладки. Каждыйкомплект включает в себя программный пакет с интегрированной средой разработки, которая содержитотладчик и встроенный ассемблер стандарта 8051. Имеется блок-преобразователь RS-232/JTAG, а такжедемонстрационная плата с установленным МК (C8051F000, F005, F010 или F015) и большой свободнойобластью для макетирования.
Кроме этого в комплект средств разработки входят кабели RS-232 и JTAG, атакже блок питания в настенном исполнении.Page 168CYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7DisclaimersLife support: These products are not designed for use in life support appliances or systems where malfunction ofthese products can reasonably be expected to result in personal injury. Cygnal Integrated Products customers usingor selling these products for use in such applications do so at their own risk and agree to fully indemnify CygnalIntegrated Products for any damages resulting from such applications.Right to make changes: Cygnal Integrated Products reserves the right to make changes, without notice, in theproducts, including circuits and/or software, described or contained herein in order to improve design and/orperformance.
Cygnal Integrated Products assumes no responsibility or liability for the use of any of these products,conveys no license or title under any patent, copyright, or mask work right to these products, and makes norepresentations or warranties that these products are free from patent, copyright, or mask work infringement, unlessotherwise specified.TrademarksThe Cygnal’s logo, CIP-51, and Cygnal are trademarks of Cygnal Integrated Products, Inc.I2C is a trademark of Philips SemiconductorsSMBus and MCS-51 are trademarks of Intel CorporationSPI is a trademark of Motorola, Inc.4.2002; Rev. 1.4CYGNAL Integrated Products, Inc. 2002Page 169C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7CYGNAL Integrated Products, Inc.www.cygnal.comPage 170CYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4.