嵌入式系统原理与应用课件:EMB-6 PSOC5可编程数字子系统.ppt

上传人(卖家):罗嗣辉 文档编号:2040520 上传时间:2022-01-19 格式:PPT 页数:99 大小:484.50KB
下载 相关 举报
嵌入式系统原理与应用课件:EMB-6 PSOC5可编程数字子系统.ppt_第1页
第1页 / 共99页
嵌入式系统原理与应用课件:EMB-6 PSOC5可编程数字子系统.ppt_第2页
第2页 / 共99页
嵌入式系统原理与应用课件:EMB-6 PSOC5可编程数字子系统.ppt_第3页
第3页 / 共99页
嵌入式系统原理与应用课件:EMB-6 PSOC5可编程数字子系统.ppt_第4页
第4页 / 共99页
嵌入式系统原理与应用课件:EMB-6 PSOC5可编程数字子系统.ppt_第5页
第5页 / 共99页
点击查看更多>>
资源描述

1、第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模块(DFB) 第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(

2、I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模块(DFB) 可编程数字子系统概述 可编程数字子系统为PSoC设备提供一半的独特的可配置能力。v 经数字系统互联(DSI)将任何外设的数字信号连接至任意引脚v 经通用数字模块(UDB)为PSOC设备提供功能的灵活性。 PSoC Creator提供预建立的并测试过的标准设备库,这些库通过工具映射到UDB阵列。v UART,SPI,SPI,LIN,PRS,CRC,定时器,计数器,PWM,AND,OR等可编程数字子系统概述 非标准外设,PSOC易于使用硬件描述语言HDL实现。v UDB包含可编程阵列逻辑(PAL)和可编程逻

3、辑设备(PLD)功能,和小规模状态机支持大量外设。 PSoC芯片为指定功能提供可配置的数字模块:v 16位定时器/计数器/PWM模块,v I2C从设备/主设备/多主设备,v 全速USBv CAN2.0b。可编程数字子系统结构图第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模块(DFB) 通用数字模块(UDB)概述

4、UDB权衡配置粒度和实现效率,使得定制数字系统操作满足应用要求。 v UDB是可编程逻辑PLD、结构逻辑(数据通道)和灵活布线资源提供元件、I/O连接和其它外设间的互联。 最简单的功能:定时器、计数器、CRC生成器、PWM、死区生成器 通信功能:UART、SPI、I2C。v 可利用资源范围内,PLD块及其连接性,提供全特性的通用可编程逻辑。UDB框图UDB构成 PLD块v 每个UDB中有2个小规模PLD。v 从布线阵列中获取输入,生成寄存或者组合积之和(SoP)逻辑,实现状态机,控制数据通道的操作,条件输入和驱动输出。 数据通路v 动态可配置ALU,v 2个先进先出队列(FIFO),v 比较器

5、v 条件生成 UDB构成 状态和控制块v 提供CPU固件和UDB操作交互和同步的方法。v 控制寄存器驱动内部的布线,状态寄存器读内部的布线。 时钟和复位块 v 为UDB内的每个独立的块提供时钟选择和使能,复位选择。 链接信号v PLD和数据通道有链接信号,链接相邻模块,来创建更高精度要求的功能。UDB构成 布线通道v UDB的I/O通过可编程开关阵列(连接1个UDB内的块和阵列其它UDB)连接到布线通道。 系统总线接口v 每个UDB中的所有寄存器和RAM,映射到系统地址空间,作为8和16位数据访问。PLD 基本功能v 实现逻辑表达式,状态机,序列器,查找表和解码器。v 最简单的使用模型 PLD

6、块作为独立运行资源,综合生成通用RTL,并映射。v 最普通和有效的使用模型 从PLD和数据通道的连接创建数字功能,PLD实现随机逻辑和功能的状态部分,数据通道(ALU)实现更结构化的元件。数据通道 数据通道包含1个8位单周期ALU,比较和条件产生逻辑。v 优化实现嵌入式功能,v 定时器,计数器,积分器,PWM,PRS,CRC,移位器和死区生成器等。 工作寄存器v 6个基本工作寄存器,由CPU或DMA访问。v 累加器:A0,A1v 数据寄存器:D0,D1v FIFO:F0,F1数据通道 动态数据通道配置RAMv 动态配置在序列器的每个周期控制下,改变数据通道功能和内部配置。 使用8字x16位配置

7、RAM(配置存放8个16位宽度)实现。v 输入RAM地址控制顺序,与任一块连接UDB布线阵列, 如:PLD逻辑、I/O引脚或此数据通道输出。v ALU执行8种通用功能 递增、递减、加、减、逻辑与、逻辑或,逻辑异或 独立于ALU操作,也可:左移、右移、交换、按位或屏蔽。数据通道 条件v 每个数据通道有2个比较器。比较操作数包含2个累加器和1个数据寄存器。其它条件:0检测、所有为1检测和溢出。v 由数据通道基本输出,选择何条件驱动输出到UDB布线阵列。v 条件计算与相邻UDB链接操作较宽数据宽度。 可变MSBv 程序指定算术和移位功能的最高有效位。支持可变CRC和PRS,结合ALU输出屏蔽,实现任

8、意宽度定时器,计数器和移位模块。数据通道 内建CRC/PRSv 数据通道内建支持单周期计算任意宽度和任意多项式CRC和生成PRS。v 多于8位的CRC/PRS功能结合PLD实现,或内建链将其功能扩展到相邻UDB。 输入/输出FIFOv 每个数据通道包含2个4字节FIFO,独立配置为输入缓冲区,或输出缓冲区。v 可选择FIFO状态作为数据通道的输出,驱动布线,与序列器、中断或DMA相互作用。数据通道 链接v 配置数据通道链接条件和信号,如:与相邻数据通道进位和移动数据创建更高精度的算术,移位,CRC/PRS功能。 时分复用v 过采样或无需高速时钟应用,单个ALU有效与2组寄存器和条件生成器共享。

9、v 从ALU进位和移出数据存在寄存器中,在随后周期作为输入。即可在8位数据通道提供16位功能。数据通道 数据通道I/Ov 6个输入/输出连接数据通道到布线矩阵。v 每个周期执行布线的输入为布线通道操作的配置,同时布线输入也提供串行数据的输入。 输入来自其它UDB块其它外设,芯片引脚等。v 布线输出来自产生条件和串行数据输出。 输出连接其它UDB块,其它外设,中断和DMA控制器,I/O引脚等。状态与控制 协调CPU固件和内部UDB操作。 v 系统总线写入控制寄存器位,驱动布线阵列,提供控制UDB处理过程的状态。v 状态寄存器只读,系统总线直接从内部布线读出UDB状态。允许固件监视UDB处理过程的

10、状态。v 寄存器的每1位都可编程连接布线阵列。 UDB的每个子元件包含2个PLD,数据通道,状态和控制,还有时钟选择和控制模块。v 为分配时钟资源到UDB元件模块和允许未使用UDB资源被其它功能使用,提供更好的粒度。第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模块(DFB) DSI布线接口是在UDB阵列核顶端和底

11、端的连续水平和垂直布线通道。v DSI为外设提供可编程通用布线资源,包括UDB、I/O、模拟外设、中断、DMA和固定功能外设。 v DSI连接其它外设到UDB阵列。任一需要可编程布线资源的数字核或固定功能外设都连接到此接口。 可编程结构提供灵活的中断和DMA布线。v 除众多固定功能的外设能产生中断请求信号外,UDB阵列布线资源中的任一数字信号产生多个独立的中断请求信号,简化系统设计。DSI接口功能DSI接口框图 接口信号:v 系统内所有数字外设的中断请求;v 系统内所有数字外设的DMA请求;v 需灵活布线到I/O的数字外设的数据信号;v 需连接到UDB的数字外设数据信号;v 连接到中断和DMA

12、控制器;v 连接到I/O引脚;v 连接到模拟系统的数字信号; 通常所有输入同步,信号与CPU相互作用。很少使用异步输入,但组合PLD逻辑输入与输出使用异步。DSI接口功能 20个DSI连接到典型8位I/O端口,其中16个数据DSI和4个驱动能力控制DSI。v I/O引脚连接布线,有2个基本连接,即1个输入和1个输出。v 与驱动能力控制使用实现1个双向的I/O引脚。v 数据输出可单独同步,数据输入可双同步。DSI接口功能第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总

13、线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模块(DFB) USB总线模块 PSoC USB作为USB设备与主机通信。v USB模块作为PSoC内的固定功能设备。 PSOC USB模块特征v 与USB2.0兼容;支持全速外设,最高速率12Mbps;v 支持8个数据端点和1个控制端点;v 支持4种传输:块传输,中断传输,同步传输和控制传输;v 支持热插拔;支持PS/2和CMOS信号;v 支持存储转发传输模式,最大包的大小为64个字节;v 差分信号(D+/D-)输出;支持2个Vccd电压,通

14、常电压3.3V;USB总线结构 USB模块构成v 串行接口引擎(Serial Interface Engine - SIE)和仲裁器 串行接口引擎(SIE)v 处理译码,发送/接收时,创建数据和控制包。 接收时USB位流解码成USB包;发送时创建USB位流。 SIE特性:v 兼容USB2.0规范;48MHz时钟全速运行;v 支持1个设备地址;v 支持8个数据端点和1个控制端点;每个端点支持中断;v 控制端点集成1个8字节缓冲区;串行接口引擎(SIE) USB模块寄存器配置数据端点操作和控制端点的数据缓冲。也控制每个端点的可用中断。v 传输结束SIE中断。配置USB_SIE_INT_EN寄存器使

15、能/禁止端点中断。由USB_SIE_INT_SR寄存器获取端点中断状态。v SIE寄存器CNT0和CNT1保持各端点的计数值,表示USB传输数据的字节个数。固件确定输出端点接收到的最大字节。v SIE接收到字节数更新寄存器。输入端点情况,保持将要发送数据字节数。v USB_SIE_EPx_CR0寄存器保持各端点模式值,决定USB模块对主机的响应。串行接口引擎(SIE) SIE也报告发送错误,USB_SIE_EPx_CR0寄存器位为“err_in_txn“表示发生错误。v 设置此位,接收到主机其它IN令牌时硬件自动重发相同数据。 重发只出现在存储转发模式。直通模式,通过固件读取此位确定重发数据。

16、仲裁器功能与构成 USB模块仲裁器处理端点对SRAM存储器访问。v CPU和SIE都可访问SRAM存储器,仲裁器处理CPU和SIE访问SRAM的仲裁。 SIE接口模块v 处理与SIE的所有交易。SIE从SRAM读数据发送到主机。将主机数据写到SRAM中。处理SIE接口登记的此类请求。 CPU接口模块v 处理与CPU的所有交易。CPU为各端点读/写SRAM提出请求。处理CPU接口登记的此类请求。仲裁器 存储器接口v 控制USB模块与SRAM的接口。最大支持512字节存储容量。v USB专用存储器,USB和存储单元的所有控制和数据线:数据输入线,输出线和使能线,地址线和方向控制线,均由此接口管理。

17、v SIE和CPU均可请求访问存储器。SIE接口模块和CPU接口模块处理此类请求。 DMA引擎v 配置DMA,负责DMA与USB的数据来回传输。支持各数据端点的DMA请求。DMA行为取决于配置寄存器中配置的逻辑传输模式。仲裁器 仲裁逻辑v 仲裁器的主要模块。仲裁所有发生在仲裁器的交易。v 仲裁CPU,DMA和SIE对存储器和寄存器的访问。也处理存储器管理。固件处理读写地址的操作。处理缓冲区大小分配。也处理公共存储区域。v 也处理各端点的中断请求: DMA授权 输入缓冲区满 缓冲区上溢 缓冲区下溢仲裁器 USB模块使用2个时钟:系统时钟和USB时钟。v 仲裁器使用系统时钟,SIE和OsClock

18、模块使用USB时钟。2个不同时钟,要求同步。 仲裁器寄存器处理端点配置,读端点地址和写端点地址。v 也配置各端点要求的逻辑传输类型。v 每个端点支持中断。仲裁器只有1个中断线用于中断控制器。v 仲裁器寄存器使能/禁止端点中断和保持中断状态。v 仲裁器也负责存储器管理。PSOC USB工作条件 USB模块工作在特定的频率和电压范围。正确运行确认操作条件在允许范围内。 PSoC USB的工作条件:v 工作频率v 工作电压v 收发器v 端点v 传输类型v 中断工作频率 系统时钟v 控制仲裁器、存储器和寄存器块;最小系统时钟频率33MHz。 USB时钟v 控制SIE和OsClock,全速操作的USB时

19、钟48MHz。 ILO时钟v 检测USB复位,工作频率100kHz。IMOCLK,IMOCLK*2,PLL或DSI时钟到USB的时钟为clk_usb。 USB OsClock模块确定USB包频率。工作电压 USB模块工作在2种电压范围:v 标准电压范围:(4.35-5.25)V。v 低电压范围:(3.15-3.45)V。 USB模块使用3.3V工作电压,使用数字电压Vccd。v 支持内部管理器管理电压v 标准电压范围,电压通过内部管理器调整到3.3V。v USB_USB_CR1寄存器的reg_enable控制电源管理器的使用。收发器 收发器在主机和USB间使用差分信号。v 接收器接收差分信号,

20、转换为单端信号。到USB模块的单端信号电压范围(1.55-1.95)V。v 发送器将单端信号转换成差分信号,传送给主机。v 差分信号给到上游设备,电压范围(0-3.3)V。v 也支持PS/2信号,在(0-5)V范围接收/发送PS/2信号。 上拉电阻支持PS/2信号。除PS/2信号外,还支持CMOS信号。 配置USB_USBIO_CR1和USB_USBIO_CR2寄存器选择PS/2和CMOS模式。v 由手工方式强迫发送器发送信号。配置USB_USBIO_CR0寄存器手工发送信号。端点 SIE和仲裁器支持8个单向数据端点或者1个控制端点。v 数据端点共享512字节SRAM空间。配置SIE和仲裁器寄

21、存器为端点配置方向和其它设置。v 仲裁器访问端点的读地址和写地址寄存器。v 各端点支持1个中断集。各端点中断独立或集中使能或禁止。v 端点独立激活。固件决定存储器分配,无需要指定活动端点。v USB_EP_TYPE寄存器控制端点传输方向。v 运行时不能动态改变端点参数,如:激活、传输类型和方向。v 控制端点有1个单独的8字节的数据空间。传输类型 PSoC USB支持全速传输,与USB2.0规范兼容。支持4种类型:v 中断传输v 块传输v 同步传输v 控制传输中断 SIE和仲裁器产生中断。中断控制器的中断线:v 9个中断控制线 完成包发送产生。自动响应传输;使能非响应传输 USB_SIE_EP_

22、INT_EN寄存器使能各端点SIE中断。寄存器的每1位相对于1个端点。 USB_SIE_EP_INT_SR寄存器读取SIE中断状态。 每个数据端点和控制端点的独立中断线。 SIE_EP_INT_EN和SIE_EP_INT_SR寄存器控制/显示SIE和数端点的中断状态。中断 仲裁器中断线,在以下事件时,仲裁器为端点产生中断:v 缓冲区上溢v 缓冲区下溢v DMA授权v IN端点本地缓冲区满逻辑传输模式 PSoC USB支持在USB2.0规范的1个单类型的逻辑传输和3种类型的数据传输。v 控制传输任何USB设备的强制传输类型。使用端点寄存器的设置配置逻辑。v 逻辑传输模式和存储器管理与DMA配置的

23、结合。v 逻辑传输模式和USB模块内的数据传输有关。不代表设备和主机之间的传输方法。v 支持存储转发的传输模式。PS/2和CMOS I/O模式 USB收发器能发送其它信号电平。v 发送器端点使用上拉电阻,使用额外的信号电平。v 配置寄存器USB_USBIO_CR1和USB_USBIO_CR2获取不同的信号电平。 USBIO_CR2寄存器的test_res配置发送器为上拉模式。v USBIO_CR1寄存器的I/O模式配置为处理USB或驱动模式。 驱动模式下禁止USB信号,DMI和DPI位驱动D-,D+。有2个不同的驱动模式。PS/2和CMOS I/O模式 CMOS驱动模式,D+和DMI关联,D-

24、和DPI关联。v 开漏模式,上拉电阻有效。此状态下,DPI和DMI位设置为高,D+和D-高阻。 独立于驱动模式,在Vdd和D+,D-间接上拉电阻。v 支持内部1.5K的上拉电阻,配置USBIO_CR1寄存器使用此上拉电阻。 USBIO_CR1寄存器轮询D+和D-状态。第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模

25、块(DFB) 定时器模块特性 PSoC定时器模块为8/16位,可配置成定时器、计数器或脉冲宽度调制器(Pulse Width Modulator - PWM)。v 提供最多4个例化模块。v 若需额外模块,使用PSoC Creator配置UDB获取。v 不同时钟源经DSI连接通用输入/输出(GPIO)。 作为倒计数器,支持模式:v 定时器;v 门控定时器;v 脉冲宽度调制器(PWM);v 一次性(OneShot)定时器模块特性 支持中断:v 终止计数:达到计数寄存器的最终值;v 比较真:定时器值匹配比较寄存器;v 捕获:在捕获信号的边沿检测,捕获的定时器值 确认使能信号,开始计数v 支持自由运行

26、定时器v 开始、复位和终止计数时,重新加载周期v 可选时钟源v 支持杀死(Kill)和死区(dead band)特性时钟选择 灵活选择时钟信号。计数器模块在输入时钟上升沿计数。v 从周期值向下计数到0。达到计数值0(TC)时,周期值重新加载计数寄存器,定时器继续计数。v 若配置定时器一次性(One Shot)时,到达TC时定时器停止。v 使用CLK_BUS频率,或由CLK_BUS_EN 0.7的布线连接,与时钟总线同步。配置寄存器CFG1选择时钟。 设置CFG1的CLK_BUS位使用CLK_BUS频率,不使用8个可选数字时钟线任一个。 设置CLK_BUS位0,使用8个可选数字时钟线的1个。使能

27、/禁止模块 设置TMRx_CFG0的EN位使能/禁止模块。v 在使能前配置模块设置。使能模块时运行在配置模式。v 使能1个模块使用新配置值更新寄存器。禁止1个模块保留寄存器值,直到再次使能。 设置EN位清除先前状态,从周期寄存器中重新加载计数寄存器。模块开始计数。 设置EN且修改配置和周期寄存器,仅完成当前运行周期后变化有效。 清除EN且修改配置和周期寄存器,设置EN立即有效。 使能模块使用新重新加载值,不考虑设置EN=0前的寄存器状态。输入信号特性 其它4个输入信号v 使能(Enable)v 捕获(Capture)v 定时器复位(Timer Reset)v 杀死(Kill) 输入信号由DSI

28、连接到GPIO。配置外部布线寄存器RT0映射输入引脚到DSI布线。v 2个输出:终止计数和比较输出。v 与时钟信号同步。设置外部布线寄存器RT1位同步。设置异步,变化立即生效。设置同步在下1个周期生效。操作模式 定时器模式:自由运行模式;设置定时器模式的寄存器:v 寄存器:TMTx_CFG0和TMTx_CFG1。 TMRx_CFG0寄存器MODE位设置0,定时器模式。 TMRx_CFG1寄存器MODE_CFG位设置0,连续模式。 此模式获取当前系统时间。 定时器操作自动进入此模式。此模式与使能引脚无关。 称为自由运行,即使使能信号为低,定时器仍然运行。操作模式 门控定时器模式v 定时器并不在连

29、续模式,基于某标准启动和停止寄存器。v 测量输入信号参数:输入信号周期和脉冲宽度,中断后时间。v 取决于寄存器配置,支持:脉冲宽度、周期和中断停止模式。 设置定时器模式的寄存器:v 寄存器:TMTx_CFG0和TMTx_CFG1。 TMRx_CFG0寄存器MODE位设置0,为门控定时器模式。 TMRx_CFG1寄存器3位MODE_CFG位设置门控定时器的不同模式脉冲宽度调制器模式 PWM模式也称比较器模式,比较输出占空比和周期变化的PWM输出。v 占空周期取决于比较的类型和值。v 周期取决于周期寄存器。 设置比较器模式的寄存器:v 寄存器:TMTx_CFG0和TMTx_CFG1。 TMRx_C

30、FG0寄存器MODE位设置1,为比较器模式。 TMRx_CFG1寄存器3位MODE_CFG位设置比较器的不同模式脉冲宽度调制器模式 死区特性v 只有比较器模式使用死区特性。v 为使能死区特性,配置寄存器TMRx_CFG0的DB位为1。v 死区模式,终止计数输出引脚TC补充比较器输出。 Kill特性v 主要在故障情况下,关闭PWM信号。v 只在比较器模式使用。此信号将模块输出置于非确定状态。一次性模式 一次性(Oneshot)模式与前面指定的模式组合。v 唯一的不同是不会自动重新加载计数寄存器。v 达到要求标准时停止工作。不会进一步重新加载和运行。 v 设置TMRx_CFG0的ONESHOT位为

31、1,使能一次性模式。中断使能 支持4种类型的中断:v 终止计数v 捕获/比较v 定时器使能v 定时器停止 设置状态寄存器相应位,使能中断。v 发生事件保存在状态寄存器。 PSoC使用固定功能实现定时器与UDB不同。v 前者复位时TC为高,而后者TC为低。中断使能 支持4种类型的中断:v 终止计数v 捕获/比较v 定时器使能v 定时器停止 设置状态寄存器相应位,使能中断。v 发生事件保存在状态寄存器。 PSoC使用固定功能实现定时器与UDB不同。v 前者复位时TC为高,而后者TC为低。第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节

32、 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模块(DFB) I2C总线概述 I2C总线由NXP(Philips)的1种简单方法:允许多个设备在单总线上直接通信。I2C总线的特点:v 2根信号线: 串行数据(SDA) 串行时钟(SCL)v 8位串行数据传输:v 标准模式最大速度100Kbps;v 快速模式最大速度400Kbps;v 增强快速模式最大速度1Mbps。I2C总线模块概述 多个设备/小系统构成单板网络,设计使用:1

33、个单主设备/多个从设备,多个主设备,或多个主/从设备的连接。v 从模式:模块监听起始条件,或发送/接收数据。v 主/从模式结合:主设备产生开始/停止条件,确定总线是否有其它主设备。v 多主模式:支持锁定同步。典型的典型的I2C总线结构总线结构PSOC I2C接口特性 从/主/多主,发送器和接收器操作; 低CPU开销的字节处理; 支持对状态检测和生成帧位; 各种总线事件的中断; 中断或轮询CPU接口; 支持总线停顿; 支持最高总线速度为1Mbps增强快速模式; 7或10位寻址(10位寻址要求固件支持); 支持系统管理总线(System Management Bus - SMBus)PSOC I2

34、C接口特性 SDA/SCL直接布线到已分配2对SIO端口的1对,或由DSI连接到任一GPIO或SIO引脚对。 过滤50ns毛刺。 I2C外设提供同步2线接口与PSoC连接,兼容NXP(Philip)I2C规范V2.1版本。 UDB例化获取额外的I2C接口。 使用集电极开路或开漏极,由上拉电阻将设备连接到总线。 每个连接到总线的设备,由软件通过独特地址寻址。 存在简单主/从关系,从设备为发送器或接收器; 支持多主模式,2个设备同时初始化数据传输,冲突检测和仲裁。I2C总线的数据传输时序图I2C总线的数据传输过程 主设备控制SCL,产生1个开始条件,后面跟随数据字节。v 包含7个从设备地址和1个读

35、/写位。该位设置相对于主设备的数据传输方向。高为读,低为写。 从设备识别地址,第9位时间间隔拉低数据线产生应答字节。v 若从设备未响应第1个字节,主设备产生停止条件终止数据传输。1个重复启动条件重新尝试传输; 根据读/写,主设备发送或接收不确定数量的字节。 数据传输结束主设备产生停止条件。v 接收设备需时间将接收数据存储或准备发送数据时,从设备拉低SCL,主设备进入等待状态。I2C总线的中断与寄存器操作 为以下条件产生中断:v 字节传输完成(接收/发送);v I2C停止条件;v I2C错误检测; 读写配置、控制和状态寄存器控制I2C接口。其操作步骤:v 设置I2C_XCFG第7位,打开I2C接

36、口;v SDA和SCL布线到期望引脚对;v 设置I2C_CFG第2位,I2C_CLK_DIV1和I2C_CLK_DIV2; v 使能期望操作模式。I2C总线的操作模式 I2C模块支持v 从模式v 主模式v 多主模式v 多主/从模式第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器模块(DFB) CAN外设是全功能的控制

37、器局域网络(Controller Area Network - CAN),最大通信波特率1Mbps。v CAN控制器支持CAN2.0A和CAN2.0B规范,并且和ISO-11898-1标准一致。v CAN总线最初应用于汽车领域,主要在高级缺陷检测。保证低成本高可靠性应用。 CAN也扩展到面向运动的机械控制网络(CANOpen)和工厂自动化应用(DeviceNet)。v CAN控制器高效实现高级协议,而不影响MCU/CPU性能。PSoC软件平台支持全功能配置。CAN模块概述CAN系统框图 兼容CAN2.0A/2.0B协议;v 标准和扩展帧;v 支持远程传输请求(Remote Transmissi

38、on Request - RTR);v 可编程数据率,最大1Mbps; 接收路径v 16个接收缓冲区;v 16个接受滤波器和接收屏蔽;v 支持DeviceNet寻址;v 可选择链接多个接收缓冲区来形成1个硬件FIFO;CAN模块特点 发送路径v 8个发送消息缓冲区;v 可编程优先级用于每个发送消息缓冲区; CAN发送(Tx),接收(Rx)和EN布线到任一个I/O 自动波特率检测的只监听模式 休眠模式唤醒设备CAN模块特点 发送消息:v 主机控制器将消息保存到发送消息缓冲区,并且通知发送消息句柄所要发送的消息。 接收消息 v 当接收消息时,保存在存储器缓冲区,主机控制器按命令处理它。 发送和接收

39、由状态和配置寄存器控制。v 中断控制单元管理CAN模块的不同中断。CAN模块概述CAN模块框图 CAN总线中,消息的发送和接收由4个类型的帧控制:v 数据帧v 远程帧v 错误帧v 过载帧 数据帧主要在发送器和接收器间传输数据。支持2种类型的数据帧:v 标准数据帧;v 扩展数据帧;CAN消息帧与数据帧 远程帧v 发送远程帧,CAN总线允许目的节点从源节点请求数据。数据帧和远程帧有2点不同, 首先,远程帧RTR位作为隐含位发送; 其次,远程帧无数据域。v 帧间空间:从前帧中区分数据帧和远程帧。 错误帧v 检测到任何总线错误时,节点产生错误帧。错误帧由错误标志和错误定界符构成。错误标志分为2类: 错

40、误活动标志 错位被动标志。CAN远程帧与错误帧 过载帧(EOF)v 由1个过载标志和1个过载定界符组成,CAN支持过载反应帧。当发生下面条件时,该帧被激活: 在帧空隙域的最前面2位检测到前导位; 接收方检测到EOF最后1位为前导位; 在错误定界符或过载定界符最后1位检测到前导位;CAN过载帧 CAN总线支持8个发送消息保持缓冲区。v 内部优先级仲裁器根据选择总裁策略来选择消息。v 仲裁策略为轮询或者固定优先级。v 信息传输后或者仲裁丢失时,优先级仲裁器重新评估下1个消息的优先级。v 接收消息缓冲区也发送远程传输请求。CAN消息发送 CAN总线使用1个独立时钟输入CLK_BUS。v 如何配置可编

41、程的位速率分频器达到期望位速率和与CLK_BUS的关系。v 工业使用的CAN总线位速率:1Mbps,800Kbps,500Kbps,250Kbps,125Kbps,100Kbps,50Kbps,20Kbps,10Kbps,5Kbps。v 若CLK_BUS频率是8MHz或其整倍数,所有位速率都可使用;否则在10MHz,除800kbps外,其它位速率都可配置。CAN位时间匹配 错误类型v 位错误,格式错误,应答错误,CRC错误,填充错误。 错误状态v 活动错误,被动错误和总线关闭。 中断源v rx_msg(收到消息);tx_msg(发送消息);v rx_msg_loss(接收缓冲区满丢弃消息)v

42、bus_off(总线关闭);crc_err(CRC错误);v form_err(格式错误);ack_err(应答错误);v stuff_err(填充错误);bit_err(位错误);v ovr_load(过载帧错误);arb_loss(仲裁丢失错误)CAN错误处理与终端第6章 PSOC5可编程数字子系统 第1节 可编程数字子系统概述 第2节 通用数字模块(UDB)及其阵列 第3节 数字系统互联(DSI)布线接口 第4节 通用串行总线(USB)总线模块 第5节 定时器,计数器和脉宽调制(PWM)模块 第6节 集成电路间(I2C)总线模块 第7节 控制现场网络(CAN)总线模块 第8节 数字滤波器

43、模块(DFB) DFB模块概述 PSoC提供专用硬件加速器模块实现数字滤波。v 数字滤波器模块(Digital Filter Block - DFB)有1个专用乘法器和累加器在1个时钟周期内计算24x24位乘法和48位累加算法。v 实现直接有限脉冲响应滤波器(Finite Impulse Response - FIR),1个时钟可计算1个FIR结果。v 普通MCU也能实现此功能,但速度慢,且会消耗MCU带宽。v PSOC硬件实现滤波器以数据流为基础,而MCU实现以程序计数器(PC)为基础,PSOC硬件实现比MCU实现快很多,且实现MCU串行处理和专用硬件并行处理的完美结合。DFB模块特点 2个

44、数据流通道; 2个流和块操作的使用模型; 1个中断和2个DMA请求通道; 3个与系统软件交互的信号量位; 输入/输出的数据对齐选项;DFB模块结构DFB模块概述 DFB是24位可编程定点有限范围DSP引擎。v 最多支持2个数据流通道,在此通道上本地保存编程指令,历史数据和滤波器系数。v 接收其它通道和模块(由PHUB接口)的周期性采样。 系统软件加载采样值和系数从/到DFB数据存储器,和/或在块模式重新编程不同操作。v 多通道处理和实现比本地存储器支持的更高阶数滤波器。 提供软件配置中断(DFB_INTR_CTRL)和2个DMA通道请求(DFB_DMA_CTRL)。v 由DMA控制器控制数据移

45、动,也可由CPU直接移动。DFB模块结构 由4个基本的子功能模块构成:v 控制器;v 数据通道;v 地址计算单元;v 总线接口。 控制器v 由3个存储器和很少数量的数字逻辑构成。v 控制器内存储器存放DFB执行的控制数据变换的函数(汇编代码编写)。DFB模块结构 数据通道v DFB内的运算单元,24位定点数据处理器:1个乘法和累加器(Multiply and Accumulator - MAC),1个多功能算术逻辑单元(Arithematic Logic Unit - ALU),采样和系数/数据RAM,v 还可实现数据布线、移位、保持和舍入功能。 地址运算单元(Address Calculat

46、ion Unit - ACU)v 控制数据通道内2个数据RAM的寻址。有2个ACU,与数据RAM对应。 以上子模块构成DFB的核心,并有1个32位具备DMA功能的AHB总线接口(包含控制/状态寄存器)。DFB控制器结构框图DFB控制器 控制器v 包含RAM基有限状态机(FSM),RAM基控制存储,程序存储器和下状态控制逻辑。v 控制地址的计算单元和数据通道,与总线接口通信,在数据通道移动数据。v 设计者使用专用汇编语言和汇编器实现DFB执行的数据变换。 汇编器转换汇编代码产生FSM RAM、2个控制存储RAM,ACU RAM,和2个数据通道RAM的内容。 6个RAM内容须在使用前由系统加载。

47、DFM RAM内容保存在Flash。DFB操作开始前,Flash内容写到RAM中。DFB控制器 下状态解码逻辑和FSM RAM构成最主要的DFB分支控制。v 下状态解码器产生FSM RAM地址,RAM产生下状态信息和分支标志符号。 此类符号使能标志作为跳转分支的跳转条件。 状态机控制程序计数器产生控制存储RAM的地址。 2个相同的控制存储RAM和1个相关的程序计数器,交织控制存储操作码的取操作。v 状态控制RAM填充不同内容,控制存储指令空间扩大1倍。v 遇到分支条件计算下状态地址。支持2个分支地址。确定分支条件,输出存储控制RAM的正确内容,直至下次跳转。DFB控制器 FSM RAM是64X

48、32的RAM,存放汇编代码的控制流信息,表示DFB实现功能。v 系统引导加载RAM,不限于此时间,DFB未开始前的任何时间均可加载RAM。v 某些应用的算法是按一定规律加载和替换,包括 需处理多个通道的数据 1个通道需多个变换(代码长度太大,无合适的可利用空间)。DFB模块结构 程序计数器v 程序计数器(PC)向CS RAM提供正确地址。 控制存储v 2个交错RAM,存放ACU和数据通道单元的控制操作码。v 通过PC和前1个时钟设置的DP和ACU操作状态,FSM RAM间接寻址此类RAM。 v 2个RAM的32位输出复用到控制总线上,提供到ACU和数据通道单元的位映射。DFB模块结构 下状态解

49、码器v 控制FSM RAM状态转移的组合逻辑给出到FSM的状态地址。由信号条件分支控制其结果。v 当以下条件成立时,获取1个状态转移。 EOB为高和信号条件变高。真分支条件跳转; LOOP为低表示无循环,EOB为高,条件为低。假条件的流通过条件。DFB模块结构 数据通道(DP)v DFB数值计算单元,绝大部分支持24位数据宽度。v DP数据RAM,复用开关,ALU,移位寄存器和舍入器(Rounder)均为24位。v DP由2个128X24单端口RAM(RAMA和RAMB)构成。v RAM从总线或数据通道输出(反馈)。v DFB控制器控制此类RAM保持带有宽度和位置信息的数据和系数。DFB模块结

50、构 流模式 v 系统软件不在主存储器中管理数据/系数。只在数据RAM中被保持和管理,新的采样流入DFB。v 将信号数据以周期流的形式移入DFB,并不要求数据RAM映射到系统AHB总线完成数据传输。 v 历史采样数据和滤波器系数永久保存在数据RAM,系统软件不用管理数据和系数,或在块内移动数据和系数,或将其移入/移出DFB。 DFB模块结构 DFB硬件支持最多2个流传输通道,多于2个通道的应用需使用块传输模式。 DFB的暂存寄存器和控制逻辑确定支持流传输通道数目。由控制器汇编语言的功能确定数据RAM的通道映射和管理。 输入流模式,采样速率由ADC或其它源确定。DFB须运行大于或等于采样速率,保证

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(嵌入式系统原理与应用课件:EMB-6 PSOC5可编程数字子系统.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|