原创 MCU+CPLD/FPGA实现对GPIO扩展与控制

2020-2-12 18:36 5200 15 2 分类: FPGA/CPLD 文集: 知识汇集

立题详解:

本次介绍“MCU+CPLD/FPGA实现GPIO扩展与控制”,使用此种组合具有一定的优势,也有一定的劣势,此种方法,是过去在一个项目中所碰到的组合;

目的:是为了满足“美洲”和“欧洲”认证方面的架构需求;

系统分析:

i)、核心要点:必须在“硬件”上,使“通讯+控制”形成“闭环控制”,即“控制量+反馈量”必须构成“闭环”,保证“信号机制”与“执行机制”具有“互通性”;

ii)、优点1:使用MCU与“top层系统级”进行“信息交互”,由于去均为“RISC指令集”或“CISC指令集”,其其可实现“直接通讯”,可有效降低“软件开发难度”、“提高软件开发进度”;

iii)、优点2:使用CPLD/FPGA进行“并行动作控制”,可有效提高“信号执行率”,提高“系统实时响应”,并大幅扩展“可控GPIO数目”,在“少量信号量”时,其效果不明显,但在“大量信号量”时,其效率将大幅提升;

iv)、缺点:有2点,具体如下所示:

首先,使用2种架构的芯片,“MCU”为“串行架构”,执行机制为“串行执行”,“CPLD/FPGA”为“并行架构”,执行机制为“并行执行”,设计之初必须考虑其“接口数目”、“通信协议”、“资源配置”、“LEs规模需求”等等,对“硬件”具有更高要求;

其次,使用2种架构的芯片,其“编程思路”、“设计理念”有根本的区别,对“驱动代码”而言,其至少需要“维护2套以上的代码”,对“软件”具有更高要求;

1、分类细讲

首先,对“MCU”:为“串行架构”,执行机制为“串行执行”,可使用“stm8”、“stm32”、“AVR”、“PIC”、“89C51/89C52”等芯片,本次为方便,举例使用为“STM32F103C8T6”,价格约“5.0RMB/PCS”;可上“Lite OS”,如“ucos ii”、“FreeRTOS”等;

PS:若“不与TOP层通讯”,可使用“STM8S003F3P6”,,价格约“1.3RMB/PCS”;

其次,对“CPLD/FPGA”:为“并行架构”,执行机制为“并行执行”,使用“CPLD芯片”为“EP240T100C5N”,价格约“4.50RMB/PCS”,“LEs数目”约为“240”;

注意:“系统开发环境”:环境为“Quartus II 11.0”+“KEIL-MDK 4/5”或“IAR FOR STM8”;

1、对MCU与CPLD通讯

当前而言,使用“UART串口通信”,因为“UART串口”已极为普遍,所需“GPIO数目少”,适用于现在的各个方面,其有效使用范围为“10m以内”且“速度不高”,但其使用方便、可扩展性,已成为大众所接受的标准通信协议之一;

实际,在对“多机通信”或“上位机控制”时候,必定会涉及到“控制通信问题”,主要有2种方式:“串行通信”、“并行通信”;

i)、“串行通信”:简要介绍为:数据为“逐位传输”、传输速度慢、所需IO口少、便于扩展;

ii)、“并行通信”:简要介绍为:数据为“总线传输”、传输速度快、所需IO口多;

此处,“UART串口通信”属于“低速、串行通信”的一种,其实际使用只需2根通信线,即“TX”、“RX”,附加一根“GND线”即可实现有效通信;

PS:特别注意:“板级间”必须“共地”,即“GND必须连在一起”,否则无“公共基准电位”,其仍旧无法通信;

2、串口通信实现

本次,分别介绍如下:

首先,对“MCU”,使用“C语言”直接调用“UART模块”即可实现,指令集多为“RISC指令集”

其次,对“CPLD”,使用“Verilog语言”对“EP240T100C5N”进行代码编程,使其实现“UART串口通信”;

i)、“帧数据扩展”:具体代码实现,已在之前介绍过,其可实现“8bit数据控制”,即可实现“2^8=256”种指令集,可通过“帧加密”的形式,无限扩展“数据量”;

ii)、“普通数据扩展”:具体代码实现,已在之前介绍过,其可实现“8bit数据控制”,即可实现“2^8=256”种指令集,此时可通过引入“ADDR数据总线”,即“人为添加GPIO”表示“ADDR总线”,对“8bit串行数据”进行扩展,通过“8bit+ADDR数据”共同确定“执行语句块”;

3、代码举例:

首先,对“MCU”,框图截图举例:

MCU+CPLD/FPGA实现对GPIO扩展与控制

代码截图1为:

MCU+CPLD/FPGA实现对GPIO扩展与控制

代码截图2为:

MCU+CPLD/FPGA实现对GPIO扩展与控制

然后,对“CPLD”,代码截图为:

MCU+CPLD/FPGA实现对GPIO扩展与控制

RTL级截图为:

MCU+CPLD/FPGA实现对GPIO扩展与控制

截图1:

MCU+CPLD/FPGA实现对GPIO扩展与控制

截图2:

MCU+CPLD/FPGA实现对GPIO扩展与控制
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

curton 2020-2-26 19:33

学习了
相关推荐阅读
红旗不倒 2023-04-24 16:28
多谐振荡电路原理、计算公式,施密特,单稳态电路,多谐振荡电路优缺点
多谐振荡电路原理、多谐振荡电路计算公式、施密特,单稳态电路,多谐振荡电路优缺点多谐振荡电路是一种具有放大作用的电路,它利用电容的充放电特性来产生振荡信号。多谐振荡器的基本原理是,当外加在电感两端的交流...
红旗不倒 2023-03-29 17:23
可控硅材料介绍、作用、与igbt优缺点对比
本文分享可控硅材料介绍、作用、可控硅和igbt优缺点对比可控硅是什么材料,有哪些作用可控硅,又称为晶闸管(SCR),是一种电子器件,常用于控制交流电的电压和功率。可控硅由四层半导体材料组成,其中P型半...
红旗不倒 2023-03-24 10:49
强大的chatgpt NLP技术,可能无法单独吞噬世界?
人工智能编码 尽管软件被认为是“吞噬世界”,但由于开发人才的获取和构建软件所需任务数量的增加,它在这样做方面受到了严重限制。需要软件开发人员的工作数量正在以远远超过进入市场填补这些职位的熟练专业人员...
红旗不倒 2023-03-20 10:47
ChatGpt汇总:全球各国在6G发展状况?5G、4G、3G、2G和1G的网速和覆盖能力对比
6g 普及了吗,对比5、4、3、2、1G网速、关键核心技术、覆盖能力、成本等汇总对比,全球各国在6G领域的发展状况?网速方面:2G:数字式移动电话技术,可提供更快的数据传输速度和更好的语音质量。4G:...
红旗不倒 2023-03-15 16:49
电机功率计算公式(三相平衡功率、异步电机功率)详细解读,看得明明白白
电机功率的计算公式需要考虑到电机的实际情况、电力质量等因素,因此具体的计算需要根据实际情况进行调整。以下是三相平衡功率和异步电机功率的计算公式:三相平衡功率计算公式:三相电源输入功率 P = √3 ×...
红旗不倒 2022-08-03 18:10
IC面临库存调整、英飞凌Q3收入增长超预期、台积电将用中微刻蚀机生产5纳米
2022年8月3日,半导体行业快讯汇总:15:05据台媒报道,近来半导体行业被“砍单潮”席卷,OSAT(专业委外封测代工)业内人士称,消费电子应用的成熟基础IC面临库存调整,先前数次调涨封测代工费用的...
EE直播间
更多
我要评论
1
15
关闭 站长推荐上一条 /3 下一条