PSoC的动态配置能力及其实现方法
ability)。
为了节省设计时间及减少重复性劳动,Cypress也提供各种用户模块,在其器件库中存储有多种预设计外围元器件模块。用户通过使用其系统提供的IDE,调用这些功能模块;在功能模块设计方面,在反复考察微控制器上的外围器件和用于典型设计的模拟集成电路基础上,Cypress提供了多种常用的数字和模拟外围器件以供调用。目前在PSoCDesigner3.10版本的外围器件库中包含的用户模块有:
数/模转换器(6位、8位);
模/数转换器(增量式、Σ-Δ式……);
放大器(8位、16位、32位);
计数器(8位、16位、32位);
定时器(8位、16位、32位);
滤波器(高通、低通、带通);
脉宽调制(PWM8、PWM16、PWM32);
各种数字设备(包括液晶模块、E2PROM);
通信模块(SPI主、SPI从、TX、RX、UART);
……
其提供的集成开发环境(IDE)还包含用户模块描述、说明,以及用户指导/代码摘录、应用程序接口API(ApplicationProgrammingInterface)和中断服务程序ISR(InterruptServiceRoutine),不用户调用用户模块时和设备配置表产生时,功能模块被自动插入到工程文件中。设计工程师可以使用API或者ISR以完成用户程序的编制,实现任何定制的应用。
其提供的集成开发环境(IDE)还包含用户模块描述、说明,以及用户指导/代码摘录、应用程序接口API(ApplicationProgrammingInterface)和中断服务程序ISR(InterruptServiceRoutine),当用户调用用户模块时和设备配置表产生时,功能模块被自动插入到工程文件中。设计工程师可以使用API或者ISR以完成用户程序的编制,实现任何定制的应用。
下面利用动态重新配置能力,完成如下功能需求的PSoC芯片设计工作。在不同的时刻,系统需要二套不同功能的外围器件,时刻一是系统需要完成数据的接收工作,时刻二需要完成数据的发送工作。使用普通的芯片,需要搭建大量的外围电路;这项功能。系统不同时刻需要的带有外围器件的功能需求如图1所示。
要完成此块含有相当丰富功能的微控制器芯片,必须通过应用IDE内的DeviceEditor完成用户模块的选用及参考配置工作。首先,根据时间先后,划分出基本配置和其它功能配置;在基本配置内必须完成对共有资源(定时器、计数器、模数、数模转换等)的选用、放置和参数配置工作(时钟频率、输入/输出总线、I/O)。然后,完成功能配置要求(半双工UART接收、发送模块功能配置),在各自不同的功能配置中,根据功能要求设定系统参数。
在ApplicationEditor部分产生配置文件,编写应用程序代码。利用程序完成功能配置的装入、卸载工作以及实现相应的功能转换,完成预定的芯片功能。具体的示例程序代码如下:
;*******************************************
areabss(RAM);定义变量
RXdata;blk1
areatext(ROM,REL)
;*********************************************
_main:
callCounter8_1_Start;基本配置
callTimer16_1_Start
……
;*********************************************
receiver:
;动态完成UART接收器重新配置工作
callLoadConfig_receiver;装入UART接收配置
callRX8_1_Start;启动RX模块工作
receiverIoop:
tstreg[RX8_1_CONTROL_REG],
RX8_RX_COMPLETE;测试接收
jzreceive 《PSoC的动态配置能力及其实现方法(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/173074.html
为了节省设计时间及减少重复性劳动,Cypress也提供各种用户模块,在其器件库中存储有多种预设计外围元器件模块。用户通过使用其系统提供的IDE,调用这些功能模块;在功能模块设计方面,在反复考察微控制器上的外围器件和用于典型设计的模拟集成电路基础上,Cypress提供了多种常用的数字和模拟外围器件以供调用。目前在PSoCDesigner3.10版本的外围器件库中包含的用户模块有:
数/模转换器(6位、8位);
模/数转换器(增量式、Σ-Δ式……);
放大器(8位、16位、32位);
计数器(8位、16位、32位);
定时器(8位、16位、32位);
滤波器(高通、低通、带通);
脉宽调制(PWM8、PWM16、PWM32);
各种数字设备(包括液晶模块、E2PROM);
通信模块(SPI主、SPI从、TX、RX、UART);
……
其提供的集成开发环境(IDE)还包含用户模块描述、说明,以及用户指导/代码摘录、应用程序接口API(ApplicationProgrammingInterface)和中断服务程序ISR(InterruptServiceRoutine),不用户调用用户模块时和设备配置表产生时,功能模块被自动插入到工程文件中。设计工程师可以使用API或者ISR以完成用户程序的编制,实现任何定制的应用。
其提供的集成开发环境(IDE)还包含用户模块描述、说明,以及用户指导/代码摘录、应用程序接口API(ApplicationProgrammingInterface)和中断服务程序ISR(InterruptServiceRoutine),当用户调用用户模块时和设备配置表产生时,功能模块被自动插入到工程文件中。设计工程师可以使用API或者ISR以完成用户程序的编制,实现任何定制的应用。
下面利用动态重新配置能力,完成如下功能需求的PSoC芯片设计工作。在不同的时刻,系统需要二套不同功能的外围器件,时刻一是系统需要完成数据的接收工作,时刻二需要完成数据的发送工作。使用普通的芯片,需要搭建大量的外围电路;这项功能。系统不同时刻需要的带有外围器件的功能需求如图1所示。
要完成此块含有相当丰富功能的微控制器芯片,必须通过应用IDE内的DeviceEditor完成用户模块的选用及参考配置工作。首先,根据时间先后,划分出基本配置和其它功能配置;在基本配置内必须完成对共有资源(定时器、计数器、模数、数模转换等)的选用、放置和参数配置工作(时钟频率、输入/输出总线、I/O)。然后,完成功能配置要求(半双工UART接收、发送模块功能配置),在各自不同的功能配置中,根据功能要求设定系统参数。
在ApplicationEditor部分产生配置文件,编写应用程序代码。利用程序完成功能配置的装入、卸载工作以及实现相应的功能转换,完成预定的芯片功能。具体的示例程序代码如下:
;*******************************************
areabss(RAM);定义变量
RXdata;blk1
areatext(ROM,REL)
;*********************************************
_main:
callCounter8_1_Start;基本配置
callTimer16_1_Start
……
;*********************************************
receiver:
;动态完成UART接收器重新配置工作
callLoadConfig_receiver;装入UART接收配置
callRX8_1_Start;启动RX模块工作
receiverIoop:
tstreg[RX8_1_CONTROL_REG],
RX8_RX_COMPLETE;测试接收
jzreceive 《PSoC的动态配置能力及其实现方法(第2页)》