PSoC的动态配置能力及其实现方法
rloop;判断完成
callbRX8_1_ReadRxData;读写存储数据
mov[RXdata],A
;*********************************************
transmitter:
;动态完成UART发送器重新配置工作
callLoadConfig_transmitter;装入UART发送配置
callTX8_1_Start;启动TX模块工作
inc[RXdata]
movA,[RXdata];准备数据发送
callTX8_1_SendData;发送数据
;*********************************************
transmitterloop:
tstreg[TX8_1_CONTROL_REG],
TX8_TX_COMPLETE;测试发送
jztransmitterloop;判断完成
jmptrceiver;返回数据接收
图3
通过应用IDE,就可以简单地实现以上特定的MCU的需求,根据设计进展过程和功能需求的改变,对PSoC微控制器进行配置和重新配置。因此,PSoC可以降低成本,扩大PSoC资源利用率,简单实现或重复实现任何定制的应用。
2PSoC在系统编程
通过以上讨论,了解了PSoC的动态重新配置能力;但在实际应用中,我们常常必须在工业现场完成对PSoC的重新配置。因此,在系统编程(ISP)技术在实现应用中显著尤为重要。所谓在系统编程(ISP)就是一种可以让最终用户对已经安装在电路板上的设备进行编程和重新编程的技术。它可以允许在制造过程和应用现场中进行对微控制器编程。
PSoC芯片内部提供一个包含二个引脚的特殊串行接口,使用它们可以发送和接收来自在系统编程的数据。但是这种在系统编程需要使用仿真器作为编程设备。编程器包含5根信号线(Vcc、GND、Xres、SCLK、DATA);系统提供两种编程模式:设备复位编程和设备电源循环编程。一般推荐使用设备复位编程模式。在PSoCDesigner内选定编程模式,就可以通过图2的相应连接完成在系统编程。要注意的是,在设备复位编程模式下不需要Vcc信号;在设备电源循环编程目标板消耗的电流不能超过300mA,否则会造成仿真器损坏。
使用图2所提供的系统连接方式,用户可以非常简单地对PSoC芯片实现在系统编程。同样,用户也可以使用UART接口、并行接口或者用户自定义的接口来完成ISP编程,但是由于PSoC片内不直接提供代码支持这种应用,因此用户必须自己完成外部应用电路及ISP代码的编写。通过使用PSoC片内提供管理员ROM和重新配置的应用来解决此ISP代码编写的问题。用户编写ISP代码存储在片内闪存的高端地址空间内,不可擦除;用户代码存储在片内闪存的低端空间地址空间内,当ISP代码执行时,它将重新配置PSoCMCU系统,通过特定的接口与主机通信,接收来自于此接口的数据包,然后对芯片编程(使用用户代码)。编程完成后,PC指针跳回地址0,系统复位,根据新的用户代码重新配置芯片,用户可以根据需要指定用户代码和ISP代码空间大小,但是当使用在系统编程时,ISP应用代码不可以覆盖。用户新的代码可以对ISP代码进行调用。图3是一个应用UART接口完成ISP应用的基本电路。
在此电路内使用DB9连接器和RS232转换电路完成ISP编程特性。主机通过串口对芯片进行编程。P0.4和P0.6用作TXD和RXD。因此在ISP应用过程中,PSoCMCU配置此2个引脚作为通信引脚,并且与内部UART模块相联,用户同样也可以设定其它需要的用户模块,并设定一个按钮以外部触发ISP应用。用户在程序内增加一部分代码监测按钮的状态,以执行ISP应用程序。程序内可以使用中断或扫描方式监测按钮状态。具体的程序流程如图4所示。
结语
PSoC的动态配置能力给开发者提供了快速方便的编程和开发方法,同时也为单片机的应用开拓了更大的空间。合理地利用片内集成的闪速存储器可以降低产品开发成本,缩短产品开发周期。因此,本MCU结构具有广阔的应用推广前景。
《PSoC的动态配置能力及其实现方法(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/173074.html
callbRX8_1_ReadRxData;读写存储数据
mov[RXdata],A
;*********************************************
transmitter:
;动态完成UART发送器重新配置工作
callLoadConfig_transmitter;装入UART发送配置
callTX8_1_Start;启动TX模块工作
inc[RXdata]
movA,[RXdata];准备数据发送
callTX8_1_SendData;发送数据
;*********************************************
transmitterloop:
tstreg[TX8_1_CONTROL_REG],
TX8_TX_COMPLETE;测试发送
jztransmitterloop;判断完成
jmptrceiver;返回数据接收
图3
通过应用IDE,就可以简单地实现以上特定的MCU的需求,根据设计进展过程和功能需求的改变,对PSoC微控制器进行配置和重新配置。因此,PSoC可以降低成本,扩大PSoC资源利用率,简单实现或重复实现任何定制的应用。
2PSoC在系统编程
通过以上讨论,了解了PSoC的动态重新配置能力;但在实际应用中,我们常常必须在工业现场完成对PSoC的重新配置。因此,在系统编程(ISP)技术在实现应用中显著尤为重要。所谓在系统编程(ISP)就是一种可以让最终用户对已经安装在电路板上的设备进行编程和重新编程的技术。它可以允许在制造过程和应用现场中进行对微控制器编程。
PSoC芯片内部提供一个包含二个引脚的特殊串行接口,使用它们可以发送和接收来自在系统编程的数据。但是这种在系统编程需要使用仿真器作为编程设备。编程器包含5根信号线(Vcc、GND、Xres、SCLK、DATA);系统提供两种编程模式:设备复位编程和设备电源循环编程。一般推荐使用设备复位编程模式。在PSoCDesigner内选定编程模式,就可以通过图2的相应连接完成在系统编程。要注意的是,在设备复位编程模式下不需要Vcc信号;在设备电源循环编程目标板消耗的电流不能超过300mA,否则会造成仿真器损坏。
使用图2所提供的系统连接方式,用户可以非常简单地对PSoC芯片实现在系统编程。同样,用户也可以使用UART接口、并行接口或者用户自定义的接口来完成ISP编程,但是由于PSoC片内不直接提供代码支持这种应用,因此用户必须自己完成外部应用电路及ISP代码的编写。通过使用PSoC片内提供管理员ROM和重新配置的应用来解决此ISP代码编写的问题。用户编写ISP代码存储在片内闪存的高端地址空间内,不可擦除;用户代码存储在片内闪存的低端空间地址空间内,当ISP代码执行时,它将重新配置PSoCMCU系统,通过特定的接口与主机通信,接收来自于此接口的数据包,然后对芯片编程(使用用户代码)。编程完成后,PC指针跳回地址0,系统复位,根据新的用户代码重新配置芯片,用户可以根据需要指定用户代码和ISP代码空间大小,但是当使用在系统编程时,ISP应用代码不可以覆盖。用户新的代码可以对ISP代码进行调用。图3是一个应用UART接口完成ISP应用的基本电路。
在此电路内使用DB9连接器和RS232转换电路完成ISP编程特性。主机通过串口对芯片进行编程。P0.4和P0.6用作TXD和RXD。因此在ISP应用过程中,PSoCMCU配置此2个引脚作为通信引脚,并且与内部UART模块相联,用户同样也可以设定其它需要的用户模块,并设定一个按钮以外部触发ISP应用。用户在程序内增加一部分代码监测按钮的状态,以执行ISP应用程序。程序内可以使用中断或扫描方式监测按钮状态。具体的程序流程如图4所示。
结语
PSoC的动态配置能力给开发者提供了快速方便的编程和开发方法,同时也为单片机的应用开拓了更大的空间。合理地利用片内集成的闪速存储器可以降低产品开发成本,缩短产品开发周期。因此,本MCU结构具有广阔的应用推广前景。
《PSoC的动态配置能力及其实现方法(第3页)》