器件配置:
器件配置寄存器允许使用者为具体的应用定制一定的器件参数。配置寄存器在程序存储器中固定,在掉电的时候继续保持,为整个芯片通过一个整体的配置,比如时钟,看门狗和代码保护等。
器件配置寄存器映射到程序存储器中,开始地址为0XF80000,器件可以操作该地址,这个地方叫做配置区,配置位可以设置电平来选择不同的器件配置。
器件配置寄存器:
为24位的寄存器,但是最低16位才能保持配置数据,用户可以通过软件进行设置。
FBS:BOOT段配置寄存器,引导码长度,以及是否可FLASH写,以及保护的长度。
FSS:安全代码段配置寄存器,安全代码段的长度,以及写保护,和FLASH码保护长度
FGS:通用代码段配置寄存器,是否保护通用代码段,以及写保护。
FOSCSEL:时钟源选择寄存器,启动时候的时钟选择,以及初始化后的时钟源
FOSC:时钟配置寄存器,是否可以切换时钟,时钟监视使能,PPS配置次数,OSC2脚功能呢,主振荡器模式
FWDT:看门狗配置寄存器,看门狗使能,是否用窗口模式,锁相环使能,预分频和后分频
FPOR:POR配置寄存器,I2C的交替使用映射,上电复位的时间设置
FICD:在线调试配置寄存器,JTAG是否使能,ICD通信端口。
器件配置寄存器可以通过RTSP和ICSP或者器件编程器来设置。
在电路串行编程ICSP:有三对可用,PGECx和PGEDx,只需要两条线,编程的时候,每一队都可以编程,不需要指定队号。
在电路调试:这个必须指定一个对号,并且需要加入复位,和电源一共5条线。在编程的时候,两个IO和80bytes的RAM不可用。
器件ID:
器件ID寄存器:在FF0000和FF0002两个位置用来保存一个只读的ID号,这个生产时候就固定了,可以通过TABLE指令读取。
ID单元域:从0XF80010到0XF80016位置,包括了四个配置寄存器,用来编程一些特殊的器件信息。
编程与诊断
PIC24H提供一套完成的编程和诊断功能,能够提供更好的灵活性,系统的诊断包括简单的两线编程,增强的调试能力和为诊断设计的边界扫描功能。
一共有三种不同的编程和诊断方式,为用户提供很多有用的功能,如下:
在线串行编程
在线串行编程是一个最直接编程芯片的办法,烧录器或者在电路板上就可以编程。
ICSP接口
ICSP接口通过两线连接到内核,PGD提供数据输入输出,PGC提供时钟信号,控制编程。
大部分的PIC24H提供多条PGC和PGD的引脚,在编程的时候,随便一对都可以对芯片进行编程,当然,不同的对是不能编程的,这样可以为设计提供一个更加灵活的空间。此外,芯片的电源提供引脚必须连接起来,复位引脚也需要连接起来。
ICSP的操作
ICSP通过内部硬件和外部的控制来编程目标器件,编程数据和指令通过PGD来提供,一个特殊的4bit命令配合标准的PIC24H指令来编程存储器,PGD同时也返回一些数据到编程器。
ICSP和在线仿真
仿真和编程的区别是,电源,地线,复位和PGD和PGC需要连接到器件
在仿真之前,需要先写入程序
必须在配置位中写入仿真的输入输出通道
增强型的ICSP
和ICSP不同的是,增强型的ICSP不仅仅是执行单步,而是整个程序可见,编程器可以直接编程修改程序,而不是需要重新编程,同时增强型的编程速度也要更快。
JTAG边界扫描
边界扫描的内容很多,这里主要是用来编程,不再看了,需要深入了解,可以先看一下JTAG官网的资料。
以及下面的链接下载一个文档,介绍JTAG的意义
http://www.jtag.com/en/system/files/downloads/When%20does%20boundary-scan%20make%20sense.pdf
文章评论(0条评论)
登录后参与讨论