1、PSoC系统结构,PSoC内部可分为4部分:PSoC内核可编程数字系统可编程模拟系统系统资源,1,PSoC总体结构图,2,PSoC内核,包括:CPU内核、SRAM、监控ROM(SROM)、Flash存储器、中断控制器、睡眠与看门狗、一组时钟源CPU内核M8C采用哈佛(Harvard)结构全面可配置的内部CPU时钟2KB32KB的Flash128B2KB的SRAMCPU内核可对所有用户单元组成的特殊功能寄存器进行存取操作,这一能力使PSoC能对其所有用户模块进行全面重构内核的功能部件可由系统总线通过通用I/O口与外部引脚构成连接每个引脚具有8中不同的驱动模式,不同的驱动模式为外部连接提供了强大的
2、灵活性,引脚上高低电位变化或最近一次读操作时引脚上数据的改变都会触发一次外部中断,3,可编程数字系统,由14个数字行组成,1个数字行包含4个基本数字单元4个数字单元包括2个数字基本单元(DBB)和2个数字通信单元(DCB)都可以配置为具有独立功能的数字用户模块,如:定时器、计数器、PWM等多个DBB可以组成一个超过8位的数字用户模块DCB可以配置成主或从SPI模块或全双工UART模块每个DBB或DCB的输入和输出都可以通过行输入总线、行输出总线或行广播总线与其他数字单元相连,也可以经由行输入或输出中线到全局输入或输出总线与通用I/O相连数字单元的输出也可作为模拟RC单元的时钟同步信号,4,可编
3、程模拟系统,模拟阵列按列排列,1、2或4列每一列有3个基本模拟单元每一列的第一个单元被称为连续时间模拟单元(CT),第二、三个单元被称为开关电容模拟单元(SC)每一列都有一个输入时钟多路选择器,可选择系统时钟或来自数字单元的时钟信号,主要用于SC单元,其大致决定了模拟输入信号的带宽每一列还有一个模拟总线和一个比较总线,5,系统资源,包括:数字时钟带32位累加器的乘法器采样抽取器:用于数字信号处理I2C接口:能实现I2C主从设备功能内部参考电压:1.3V开关式升压泵(SMP)模拟多路复用器USB接口:支持5个端点,全速12Mb/S系统复位,6,PSoC内核系统,PSoC内核是系统的核心部件,其总
4、体结构如图所示包括:CPU内核M8C、SROM 、Flash存储器、SRAM、中断控制器、通用输入输出、睡眠、看门狗、一组时钟源,7,M8C CPU内核,CPU内核M8C采用哈佛(Harvard)结构处理器时钟频率范围93.7K24MHz24M时钟下可达4MIPS的运算能力,8,内部寄存器,M8C有5个内部寄存器,用于指令的运行,分别为累加器(Accumulation,A)索引寄存器(Index,X)指令计数器(Program Counter,PC)堆栈指针(Stark Pointer,SP)标志寄存器(Flags,F)除了指令计数器PC是16位,其余均为8位。,9,地址空间,M8C具有三块地
5、址空间:ROM、RAM、寄存器ROM包含SROM和片上FlashFlash被分配成64Byte的若干小块寄存器地址空间(512Byte)被分配成两组,即Bank0(配置空间)和Bank1(用户空间)。通过设置标志寄存器(F)的XIO位可以实现对两组寄存器区的选择,10,SRAM,M8C是一种8位CPU,8位地址总线用于SRAM和寄存器的寻址,寻址范围仅为256Byte。为提高SRAM的容量,PSoC对其SRAM采用了分页存储结构。这里需要用到3个页指针寄存器和标志寄存器的PgMode字段,由它们共同决定所访问的SRAM页,而由地址总线上的地址决定访问该页的哪个存储单元。,11,中断控制器,中断
6、控制器为PSoC提供了一种程序转移机制,当中断发生时,不用考虑当前正在执行的程序和任务,就可改变流程,跳转到新的地址去执行中断处理程序。中断处理程序结束后,程序又将接着从发生中断的地方往下执行。,12,中断控制器结构,由上图可以看出,一个中断从产生到传递到M8C核的中断请求端,需同时满足以下条件:硬件中断源产生中断,如定时器溢出或GPIO引脚产生中断;INT_CLRx1(该中断没有被清除),即该中断成为一个提交中断(Posted Interrupt);INT_MSKx1(该中断没有被屏蔽),即提交中断成为一个挂起中断(Pending Interrupt);GIE1,即全局中断使能打开。优先级编
7、码器对在所有挂起中断中进行排序,首先送出优先级最高的中断由M8C核响应。,13,中断处理过程,激活中断请求执行完当前指令执行内部中断例程,需要耗时13个周期。在此期间,执行如下操作:将PCH(PC15:8)、PCL(PC7:0)和CPU_F按顺序压栈;将CPU_F清0,此时GIE被置0,因此其他中断被暂时禁止;将PCH清0;从中断控制器读取中断向量并装入PCL中;此时PC就指向中断向量表中的合适地址,比如,对于GPIO中断,此值为001Ch。执行该中断向量。中断向量表中典型的中断向量就是一条LJMP指令,跳转到用户的中断处理程序(ISR)。执行ISR。ISR中,可以通过设置GIE1重新开放中断
8、,以实现中断嵌套,但需要注意避免堆栈的溢出。执行中断返回指令RETI返回ISR。ISR将CPU_F、PCL和PCH从堆栈中弹出,恢复这些寄存器原来的值;将CPU_F的GIE重新被置为1,中断再次使能。继续执行下一条指令,即发生中断前指令的下一条。如果没有挂起中断,程序将继续处理这些中断。,14,中断优先级,在同一指令周期内,如果有多个挂起中断发生,那么就要考虑中断的优先级,中断优先级编码器会将优先级最高的中断请求的中断向量送出。PSoC的中断源及其优先级下表所示,0级最高。,15,中断相关寄存器,中断清除寄存器(INT_CLRx)用于清除单个中断源的提交中断,每一位对应一个中断源中断屏蔽寄存器
9、(INT_MSKx)用于产生单个中断源的挂起中断中断向量清除寄存器(INT_VC),16,通用输入输出端口(GPIO),GPIO负责将PSoC内部设备与I/O引脚进行连接,为M8C内核与外界提供了数据交换接口,PSoC的数字和模拟系统提供了多种输入输出驱动模式。,17,GPIO结构与类型,GPIO包含输入缓冲器、输出驱动器和配置逻辑,配置逻辑用于将PSoC的数字和模拟系统连接至外部引脚,其配置信息由相关的寄存器位存储。PSoC的输入输出引脚分为8个一组,称为端口(Port),因此每个端口对应8个GPIO。每个GPIO可以配置为以下3大类型:由软件控制的数字输入输出(数字IO)数字可编程模块的输
10、入输出(全局IO)模拟可编程模块的输入(模拟输入),18,GPIO驱动模式,每个GPIO提供了多种输入输出驱动模式,同时还具有中断能力。所有GPIO都可以作全局IO和数字IO,单只有部分GPIO在内部能与可编程模拟模块相连而作为模拟输入。(详见教材P132),19,数字IO,可通过读写端口数据寄存器PRTxDR实现对IO端口的读写向PRTxDR写入时,每个GPIO对应1位,GPIO将根据写入的数值和所设置的驱动模式驱动相应的管脚M8C通过读取PRTxDR获得端口值,即当前端口引脚电压值所对应的逻辑值,20,全局IO,通过设置端口选择寄存器PRTxGS和端口驱动模式位寄存器PRTxDMx实现。若
11、设为全局输入:PRTxGS相应位置位,设置PRTxDMx选择高阻抗数字输入模式;若设为全局输出:PRTxGS相应位置位,设置PRTxDMx选择高阻抗数字输入以外的其他模式注:以上配置可通过PSoC Designer的互联视图中的引脚设置框选择,21,模拟输入输出,模拟输入配置可在PSoC Designer的互联视图中的引脚设置框选择高阻抗模拟输入模式。模拟输出功能是通过模拟列总线和模拟输出驱动器,而非GPIO实现的。,22,GPIO中断,每个GPIO都可以单独设置中断功能中断触发可以选择引脚高电平触发、低电平触发或引脚电平变化三种触发方式,23,GPIO中断步骤,在端口中断控制寄存器PRTxI
12、Cx中设置中断模式;在端口中断使能寄存器PRTxIE中设置相应位以开启中断;设置中断屏蔽寄存器INT_MSKx中GPIO相应的中断屏蔽位;设置全局中断使能GIE。以上步骤中前两步可以通过PSoC Designer的互联视图中的引脚设置框的中断选项设置。所有引脚中断都以线或的方式连接到系统GPIO中断,任何一个引脚中断都将引发GPIO中断。因此当有多个引脚的中断使能都打开时,用户中断处理程序中必须确定哪一个引脚是中断源。,24,GPIO寄存器,PRTxDR(端口数据寄存器)PRTxIE(端口中断使能寄存器) PRTxGS(端口全局选择寄存器),25,GPIO寄存器(续),PRTxDMx(端口驱动
13、模式位寄存器),26,GPIO寄存器(续),PRTxICx(端口中断控制寄存器),27,多时钟源,PSoC的多时钟源包括三种振荡器即内部主振荡器(IMO)、内部低速振荡器(ILO)、外部晶体振荡器(ECO)和一个锁相环(PLL),它们的功能如表所示。,28,睡眠和看门狗定时器,略,29,Thank you!,30,9、静夜四无邻,荒居旧业贫。22.9.1322.9.13Tuesday, September 13, 202210、雨中黄叶树,灯下白头人。13:18:1013:18:1013:189/13/2022 1:18:10 PM11、以我独沈久,愧君相见频。22.9.1313:18:101
14、3:18Sep-2213-Sep-2212、故人江海别,几度隔山川。13:18:1013:18:1013:18Tuesday, September 13, 202213、乍见翻疑梦,相悲各问年。22.9.1322.9.1313:18:1013:18:10September 13, 202214、他乡生白发,旧国见青山。2022年9月13日星期二下午1时18分10秒13:18:1022.9.1315、比不了得就不比,得不到的就不要。2022年9月下午1时18分22.9.1313:18September 13, 202216、行动出成果,工作出财富。2022年9月13日星期二13时18分10秒13
15、:18:1013 September 202217、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。下午1时18分10秒下午1时18分13:18:1022.9.139、没有失败,只有暂时停止成功!。22.9.1322.9.13Tuesday, September 13, 202210、很多事情努力了未必有结果,但是不努力却什么改变也没有。13:18:1013:18:1013:189/13/2022 1:18:10 PM11、成功就是日复一日那一点点小小努力的积累。22.9.1313:18:1013:18Sep-2213-Sep-2212、世间成事,不求其绝对圆满,留一份不足,
16、可得无限完美。13:18:1013:18:1013:18Tuesday, September 13, 202213、不知香积寺,数里入云峰。22.9.1322.9.1313:18:1013:18:10September 13, 202214、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2022年9月13日星期二下午1时18分10秒13:18:1022.9.1315、楚塞三湘接,荆门九派通。2022年9月下午1时18分22.9.1313:18September 13, 202216、少年十五二十时,步行夺得胡马骑。2022年9月13日星期二13时18分10秒13:18:1013 Septem
17、ber 202217、空山新雨后,天气晚来秋。下午1时18分10秒下午1时18分13:18:1022.9.139、杨柳散和风,青山澹吾虑。22.9.1322.9.13Tuesday, September 13, 202210、阅读一切好书如同和过去最杰出的人谈话。13:18:1013:18:1013:189/13/2022 1:18:10 PM11、越是没有本领的就越加自命不凡。22.9.1313:18:1013:18Sep-2213-Sep-2212、越是无能的人,越喜欢挑剔别人的错儿。13:18:1013:18:1013:18Tuesday, September 13, 202213、知人
18、者智,自知者明。胜人者有力,自胜者强。22.9.1322.9.1313:18:1013:18:10September 13, 202214、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2022年9月13日星期二下午1时18分10秒13:18:1022.9.1315、最具挑战性的挑战莫过于提升自我。2022年9月下午1时18分22.9.1313:18September 13, 202216、业余生活要有意义,不要越轨。2022年9月13日星期二13时18分10秒13:18:1013 September 202217、一个人即使已登上顶峰,也仍要自强不息。下午1时18分10秒下午1时18分13:18:1022.9.13,Lorem ipsum dolor sit, eleifend nulla ac, fringilla purus. Nulla iaculis tempor felis amet, consectetur adipiscing elit. Fusce id urna blanditut cursus.,感谢您的下载观看,专家告诉,