现场可编程处理器阵列<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
属性介绍:
1. 并行执行性能的8×8处理器阵列。
2. 正真意义上的硬件实时操作系统。
3. 97条高效指令。
4. 除了从OTP读取table需要两个周期外,其他指令都为单周期。
5. 单周期的跳转指令减少开销。
6. 可调的sp。
7. 数据存储区直接或间接寻址。
8. 位处理指令。
9. 所有数据区的指针形式访问。
10. 所有处理器公用一个OTP程序存储单元。
11. 支持OTP的程序数据保护。
12. 相对独立的IO空间和存储器空间。
13. 有效的外围处理指令。
14. 所有处理器公用一个data存储区。
现场可编程的外围函数
并行的处理能力消除了时序上的可能出现的冲突。
1. 灵活可控的时序。
2. 提供I2C、SPI、UART等接口协议。
3. 灵活的pwm脉冲。
4. 灵活的BLDC马达的控制。
5. 准确可控的时间测量。
系统特性:
1. 时钟模式:内部的高RC和低RC;外部的RC、晶震。
2. 复位内置高电平,并进行低电平检测。
3. 16位计数器。
4. 单机器周期的8×8的乘法器。
5. 操作电压:f = 8MHZ 5V;f = 4MHZ 3V。
6. 上限性能:外部晶震8MHZ VDD=5V;外部RC 8MHZ VDD=5V.
7. 工作电压范围:5V-2.5V。
8. 工作温度范围:-40――125摄氏度。
9. 工作频率范围:晶震: 8MHZ ,5V;4MHZ , 3V。
外部RC模式同上参数。
10. 低电压: I operating ~ 1.2mA @1MIPS / VDD="5".0V
I operating ~ 8uA @32KHz / VDD="3V"
I standby ~ 0.4uA @VDD=5.0V
I standby ~ 0.1uA @VDD=3.0V
封装:
SOP14、SSOP16、SOP18、SOP20、SOP28、DIP14、DIP18、DIP20、DIP40
LQFP44、PLCC44。
功能介绍:
程序计数器(PC)
PDK80CXX是一个系列的芯片。系列芯片中PC有10、11和12位的分别对应的具体型号PDK80C02/PDK80C08、PDK80C18 和 PDK80C28/PDK80C68 。
处理器阵列在内部PC上的对应关系是FPP0对应PC000H,FPP1对应PC001H,其他就以此类推。当中断产生并有效时PC会跳转到010H处进行中断处理。每一个内部处理器单元都有其自己的PC来控制其程序执行步骤。单个的内部处理器单元要去控制其他内部处理器单元的PC可以通过PUSHW和POPW两条指令。
SP和ACC
在PDK中SP一直指向堆栈区的顶端。而且SP可以通过程序灵活地分配给每个处理器单元。 每个处理器单元也有其自己ACC,所以不必担心用ACC会有撞车是事件发生。
16位的计数器
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
上图是16位计数器的硬件结构图。
PDK系列中用到了16位的计数器,该计数器的时钟源选择比较灵活,可是外部晶震、内部的高RC、内部低RC或者portA的第0位。在给计数器时钟前我们还要决定一下是用多少比例的时钟宽度进行计数,如1/1、1/4、1/16、1/64 。该计数器只有在上升沿的时候会有效。至于计数器的初始化的值可以通过指令stt16写入,如果要取出该值可以用指令ldt16 。当定时中断开启,只要计数器溢出就会触发中断。
时钟
至于时钟源我这里就只介绍一下外部晶震,其他大家可以自己找资料看看,或者具体问我也可以。
上图是外部晶震的硬件接法。当使用外部晶震作为时钟时控制寄存器的clkmd(0x03)的第三位要置位,以使能外部晶震的使用功能。外部晶震的范围可以从32K――8M 。要说明的是除了使用晶震以外,外部电容和PDK80CXX的选择项控制寄存器esocr(0x0b)要结合使用方能得到很好的正弦波。
看门狗
上图为看门狗的硬件结构图,看门狗采用的时钟是内部的低RC时钟源,为32K,而开门狗的复位周期是1024个L_RC,也就是30ms,看门狗清除有两种方法,一种是外部的复位,一种是用指令wdreset,当看门狗溢出会是整个程序复位。
中断
PDK80CXX系列芯片有8个中断。两个外部中断,一个16位的计数器中断和5个内部中断,两个外部中断是PA0和PB0。每个中断都有对应的控制位进行使能控制。两个外部中断和计数器中断的标志位是由硬件置位,软件清零。而5个内部中断是由软件置位并通过软件清零。全局中断的使能分别有两个指令engint使能,disgint禁止。当跳转到中断执行地址时,全局中断会自动被禁止,并且只要遇到reti指令全局中断会自动被使能。中断可以进行保护,并可以实现中断嵌套。这取决于每个处理器单元的堆栈都是可以通过程序进行灵活设定的。不管是那个处理区单元的中断,中断的入口地址都是0x10H 。
低功耗模式
进入低功耗模式及进入了休眠模式。在正常运行条件下,只要执行了stopsys指令就可以进入休眠模式。进入休眠模式系统将停止外部的高时钟源和内部的高时钟源,只采用内部的32K的低时钟源供看门狗使用。所以在进入休眠模式前(执行stopsys之前)要置位控制寄存器clkmd(0x03)第一位。这是为了使能内部的低时钟源。当进入休眠后硬件的状况如下:
1. 内/外部高时钟源将被关闭。
2. 使能内部低时钟源。(认为地)
3. OTP存储区被关闭。
4. SRAM和寄存器中的内容保持不变。
5. POR线路被关闭,LVD线路起作用,用来侦测电源电压是否正常。
进入休眠后想唤醒可以有三种方式,第一种,外部复位;第二种,就是LVD;第三种,有信号作用在输入引脚上。前面两种方法唤醒会导致系统重启,第三种方法唤醒会继续正常运行。
所以进入休眠,要小心操作PDK80CXX的所有I/O 。
后面IO 的部分地址、功能的介绍要等做进一步整理,如果有大家对这个芯片有兴趣,可以在这里进行讨论。
当然如果有需要量产的公司或个人对FPPA有大量需要的也可以联系我。
我的邮箱:toney_h@163.com 手机号码:13564708896 ,MSN:quanshui-2002@hotmail.com
文章评论(0条评论)
登录后参与讨论