CN111753475A - 一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法 - Google Patents
一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法 Download PDFInfo
- Publication number
- CN111753475A CN111753475A CN202010594697.5A CN202010594697A CN111753475A CN 111753475 A CN111753475 A CN 111753475A CN 202010594697 A CN202010594697 A CN 202010594697A CN 111753475 A CN111753475 A CN 111753475A
- Authority
- CN
- China
- Prior art keywords
- port
- microcontroller
- chip
- output
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供一种基于Cortex‑M0+微控制器仿真MSI数字逻辑芯片的方法。通过UART或可选的WIFI设置所仿真芯片的型号,端口状态通过WIFI发送到PC机,实现电平可视化显示。本发明提供一个高性价比、易于使用的MSI数字逻辑芯片仿真方法。
Description
技术领域
本发明涉及数字电子技术领域,特别涉及一种仿真MSI(中规模集成电路)数字逻辑芯片的设计方法。
背景技术
数字电子技术实验是电子类课程的主要实验课程。其课程的主要目的是,通过实验,使学生掌握数字逻辑芯片的使用方法和数字逻辑单元电路的功能。目前通常采用MSI中小规模数字逻辑芯片如74LS系列与CD4000系列进行实验。
目前的数字电子技术实验由数字电子技术实验箱来完成。实验箱提供电源、信号源、开关电平、指示灯、按键、蜂鸣器和数码管等,并由学生在面包板上利用74系列或CD4000系列芯片搭建数字电路,完成实验的过程。
目前的数字电子技术实验过程存在的技术问题有:
(1)以74系列为例,74系列的型号数量很多,达185种。因教学经费限制,实验室不可能准备所有的型号,只能准备少数典型的数字芯片,限制了学生在设计实验方案时的选择范围。
(2)每次实验前,教师需要检查、分发多种芯片,种类和数量都很多。实验完成后,教师需要回收、按型号进行分类、并检查芯片是否损坏,工作量很大。
(3)损耗较大。因学生初学本课程,经常出现由电源接反损坏芯片的现象,每个学期需要采购新的芯片。
发明内容
本发明要解决的技术问题之一,如何基于Cortex-M0+微控制器,仿真MSI数字逻辑芯片。
一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法,所述的Cortex-M0+微控制器的通用I/O端口引脚至少比所仿真的芯片的引脚总数多2个,多出的引脚用于设置芯片类型和输出引脚的电平状态,仿真的方法包括如下步骤:
步骤一:根据所要仿真的不同的芯片功能,分别编写对应的端口初始化程序和中断处理程序;
步骤二:将需要实现仿真的芯片型号保存在参数区;
步骤三:上电复位后,根据参数区的芯片型号,调用对应的端口初始化程序,并配置中断处理程序到中断向量;
步骤四:将Cortex-M0+微控制器输入和输出的状态,发送到PC机或智能终端。
进一步的,微控制器还设有WIFI通讯电路,以便于设置芯片型号和读取输入输出的端口电平;微控制器通2线制的UART与WIFI通讯。
进一步的,仿真组合逻辑电路时,端口初始化程序和中断处理程序的编写方法如下:
步骤一,根据所仿真的芯片功能,配置微控制器端口:将输入端口配置为内部上拉输入,将输出端口配置为开漏输出或推挽输出;当逻辑芯片输出类型为三态门时且输出为高阻态,将对应的端口配置为高阻的输入;
步骤二:端口电平发生变化时,进入中断程序:当输入端口为低电平,则配置高电平中断;当输入端口为高电平,则配置低电平中断;
步骤三:程序读取所有输入端口的电平,并根据所仿真的芯片功能,设置输出端口电平;
步骤四:根据输入端口的电平,重新配置端口的中断类型。
进一步的,仿真时序逻辑电路时,端口初始化程序和中断处理程序的编写方法如下:
步骤一:根据所仿真的芯片功能,配置微控制器端口:将输入端口配置为内部上拉输入,将输出端口配置为开漏输出或推挽输出;当逻辑芯片输出类型为三态门时且输出为高阻态,将对应的端口配置为高阻的输入。
步骤二:根据所仿真的芯片功能,配置微控制器端口:将时钟端口配置为有效沿中断,异步复位或异步置数的相关端口配置有效电平中断;
步骤三:在微控制器内定义一个全局变量,保存内部触发器状态;
步骤四:中断程序读取中断状态:如果是时钟端口引起的中断,根据步骤三所述的全局变量、相关输入端口电平,以及所仿真的芯片功能,修改全局变量的值,并设置输出端口电平; 如果是异步复位端口引起的中断,将全局变量清零,并设置输出端口电平;如果是异步置数端口引起的中断,将全局变量设置为置数端电平数值,并设置输出端口电平。
进一步的,当需要重新设置芯片功能时,其步骤为:
(1)PC或智能终端发送设置芯片型号的命令给微控制器;
(2)微控制器收到命令后,修改参数区的芯片型号;
(3)微控制器重新复位,实现新的逻辑芯片功能。
进一步的,微控制器可以通过WIFI将当前的输入端口与输出端口的电平状态,发送到PC或智能终端以实现可视化显示。
本发明的有益效果是
本发明所述的仿真方法,充分利用Cortex-M0+微控制器的优点,由Cortex-M0+微控制器仿真实现所需要的中小规模数字芯片,减少了实验过程中的准备和检查的工作量,减少了实验芯片的损耗,提高了实验效果;同时,也为开放性实验课程提供方便。
附图说明
图1为HC32L130F8UA仿真一个三线输入八线输出的74LS138的电路原理图
图2为HC32L130F8UA仿真一个异步清零十进制计数器74LS160的电路原理图
图3为信号传输示意图。
具体实施方式
下面参照附图结合实施例对本发明作进一步的说明。
Cortex-M0+微控制器是ARM公司的32位CPU平台。为叙述方便,本发明以HC32L130微控制器为例,说明本发明的实现方法。
HC32L130微控制器以Cortex-M0+为内核的,最高频率为48MHz。它有三种不同封装,分别为:LQFP-48,QFN-32,SSOP-28。其中QFN-32封装大小为4mm*4mm,型号为HC32L130F8UA,售价为每片2.69元。该微控制器仅需要一个电阻,两个电容即可以构成一个最小系统,其电路可在DIP16封装尺寸内实现。利用HC32L130F8UA仿真一个三线输入八线输出的74LS138的电路原理图如图1所示。
HC32L130F8UA初始化程序编制的主要要点包括:
(1)根据74LS138的逻辑功能,HC32L130F8UA对应的P1-P6为输入,P8为GND引脚,P16为电源引脚,配置为内部上拉输入;P7,P9-P15为输出引脚,配置为推挽输出。
(2)读取输入引脚的电平,并根据74LS138的功能表计算Y0-Y7的输出,并通过P7,P9-P15端口输出。
(3)为输入配置为合适的电平中断。如,复位后,P1引脚为低电平,则设置为高电平中断;P2引脚为高电平,则设置为低电平中断。
HC32L130F8UA中断程序编制的主要要点包括:
(1)读取输入引脚的电平,并根据74LS138的功能表计算Y0-Y7的输出,并通过P7,P9-P15端口输出。
(2)为输入配置为合适的电平中断。如,进入中断后,P1引脚为低电平,则设置为高电平中断;P2引脚为高电平,则设置为低电平中断。
利用HC32L130F8UA仿真一个异步清零十进制计数器74LS160的电路原理图如图2所示。
HC32L130F8UA初始化程序编制的主要要点包括:
(1)根据74LS160的逻辑功能,HC32L130F8UA对应P1-P7,P9,P10为输入,P8为GND引脚,P16为电源引脚,配置为内部上拉输入;P7,P11-P15为输出引脚,配置为推挽输出。
(2)定义一个全局变量,用于保存计数器的状态,并初始化为0。
(3)为输入配置为合适的电平中断。如,复位后,P1引脚为低电平,而P1为异步清零的引脚,低电平有效,则配置为低电平中断;P2为时钟引脚,上升沿计数,则设置为上升沿中断;其它输入引脚不会引起输出变化,不配置中断。
HC32L130F8UA中断程序编制的主要要点包括:
(1)读取中断状态寄存器,如果是P1引脚的中断,判断是否为低电平,为低电平时,则将全局变量清零并,并根据74LS160的功能表计算RCO的输出,通过P11-P15端口输出。
(2)如果是时钟引脚触发的中断,则读取使能端ENT、ENP以及LOAD引脚的电平,并根据功能表执行计数、置数或保持等,并修改全局变量,改变P11-P15端口的电平。
HC32L130F8UA具有64KBFLASH,而实现一个具体的芯片功能的代码长度在512字节内,所以,一个HC32L130F8UA可以保存128以上芯片的仿真代码。
程序编制的要点在于:
(1)根据不同的芯片功能,分别编写对应的端口初始化程序和中断处理程序;
(2)将需要实现的芯片型号保存在参数区;
(3)上电复位后,根据参数区的芯片型号,调用对应的端口初始化程序,并配置中断处理程序到中断向量;
(4)在主程序,将输入和输出的状态,通过UART输出或者可选的WIFI发送到PC机或智能终端。
在实验过程中,或在实现的准备阶段,需要修改芯片型号时,程序编制的要点在于:
(1)PC或智能终端通过UART或WIFI,发送设置芯片型号的命令给微控制器;
(2)微控制器收到命令后,修改参数区的芯片型号;
(3)微控制器重新复位,实现新的逻辑芯片功能。
基于本发明,微控制器可以UART与WIFI芯片进行通讯,WIFI芯片可选型号为ESP8285,可以在DIP18封装的尺寸内,实现HC32L130和ESP8285的电路。
基于本发明,微控制器可以通过WIFI将当前的输入端口与输出端口的电平状态,发送到PC或智能终端以实现可视化显示。
本发明提供一个高性价比、易于使用的MSI数字逻辑芯片仿真方法。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (6)
1.一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法,其特征在于,所述的Cortex-M0+微控制器的通用I/O端口引脚至少比所仿真的芯片的引脚总数多2个,多出的引脚用于设置芯片类型和输出引脚的电平状态,仿真的方法包括如下步骤:
步骤一:根据所要仿真的不同的芯片功能,分别编写对应的端口初始化程序和中断处理程序;
步骤二:将需要实现仿真的芯片型号保存在参数区;
步骤三:上电复位后,根据参数区的芯片型号,调用对应的端口初始化程序,并配置中断处理程序到中断向量;
步骤四:将Cortex-M0+微控制器输入和输出的状态,发送到PC机或智能终端。
2.根据权利要求1所述的基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法,其特征在于,微控制器还设有WIFI通讯电路,以便于设置芯片型号和读取输入输出的端口电平;微控制器通2线制的UART与WIFI通讯。
3.根据权利要求1所述的基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法,其特征在于,仿真组合逻辑电路时,端口初始化程序和中断处理程序的编写方法如下:
步骤一,根据所仿真的芯片功能,配置微控制器端口:将输入端口配置为内部上拉输入,将输出端口配置为开漏输出或推挽输出;当逻辑芯片输出类型为三态门时且输出为高阻态,将对应的端口配置为高阻的输入;
步骤二:端口电平发生变化时,进入中断程序:当输入端口为低电平,则配置高电平中断;当输入端口为高电平,则配置低电平中断;
步骤三:程序读取所有输入端口的电平,并根据所仿真的芯片功能,设置输出端口电平;
步骤四:根据输入端口的电平,重新配置端口的中断类型。
4.根根据权利要求1所述的基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法,其特征在于,仿真时序逻辑电路时,端口初始化程序和中断处理程序的编写方法如下:
步骤一:根据所仿真的芯片功能,配置微控制器端口:将输入端口配置为内部上拉输入,将输出端口配置为开漏输出或推挽输出;当逻辑芯片输出类型为三态门时且输出为高阻态,将对应的端口配置为高阻的输入;
步骤二:根据所仿真的芯片功能,配置微控制器端口:将时钟端口配置为有效沿中断,异步复位或异步置数的相关端口配置有效电平中断;
步骤三:在微控制器内定义一个全局变量,保存内部触发器状态;
步骤四:中断程序读取中断状态:如果是时钟端口引起的中断,根据步骤三所述的全局变量、相关输入端口电平,以及所仿真的芯片功能,修改全局变量的值,并设置输出端口电平; 如果是异步复位端口引起的中断,将全局变量清零,并设置输出端口电平;如果是异步置数端口引起的中断,将全局变量设置为置数端电平数值,并设置输出端口电平。
5.根据权利要求1所述的基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法,其特征在于,当需要重新设置芯片功能时,其步骤为:
步骤一:PC或智能终端发送设置芯片型号的命令给Cortex-M0+微控制器;
步骤二:微控制器收到命令后,修改参数区的芯片型号;
步骤三:微控制器重新复位,实现新的逻辑芯片功能。
6.根据权利要求1-5的所述的基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法,其特征在于,微控制器可以通过WIFI将当前的输入端口与输出端口的电平状态,发送到PC或智能终端以实现可视化显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010594697.5A CN111753475B (zh) | 2020-06-28 | 2020-06-28 | 一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010594697.5A CN111753475B (zh) | 2020-06-28 | 2020-06-28 | 一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753475A true CN111753475A (zh) | 2020-10-09 |
CN111753475B CN111753475B (zh) | 2022-06-28 |
Family
ID=72677351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010594697.5A Active CN111753475B (zh) | 2020-06-28 | 2020-06-28 | 一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753475B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006008721A2 (en) * | 2004-07-16 | 2006-01-26 | Koninklijke Philips Electronics, N.V. | Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller |
CN101042815A (zh) * | 2007-01-19 | 2007-09-26 | 华南理工大学 | 基于在线可编程逻辑器件的单片机教学实验装置 |
CN103915023A (zh) * | 2014-03-17 | 2014-07-09 | 山东师范大学 | 数字电路实验装置及实验方法 |
CN104778885A (zh) * | 2015-04-09 | 2015-07-15 | 福建工程学院 | 一种基于可编程逻辑器件的数字电路实验系统和方法 |
-
2020
- 2020-06-28 CN CN202010594697.5A patent/CN111753475B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006008721A2 (en) * | 2004-07-16 | 2006-01-26 | Koninklijke Philips Electronics, N.V. | Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller |
CN101042815A (zh) * | 2007-01-19 | 2007-09-26 | 华南理工大学 | 基于在线可编程逻辑器件的单片机教学实验装置 |
CN103915023A (zh) * | 2014-03-17 | 2014-07-09 | 山东师范大学 | 数字电路实验装置及实验方法 |
CN104778885A (zh) * | 2015-04-09 | 2015-07-15 | 福建工程学院 | 一种基于可编程逻辑器件的数字电路实验系统和方法 |
Non-Patent Citations (3)
Title |
---|
WU MAOSHENG ET AL: "Application of the serial Port in Experiment Teaching and Development of embedded products", 《ONACADEMIC》, 31 December 2011 (2011-12-31), pages 1884 - 1889 * |
李光新: "基于ARM和FPGA的嵌入式数控系统设计", 《自动化技术与应用》, vol. 37, no. 10, 25 October 2018 (2018-10-25), pages 129 - 135 * |
汪明珠 等: "基于Multisim的计数、译码与显示电路", 《皖西学院学报》, vol. 34, no. 2, 30 April 2018 (2018-04-30), pages 105 - 110 * |
Also Published As
Publication number | Publication date |
---|---|
CN111753475B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7729877B2 (en) | Method and system for logic verification using mirror interface | |
US8024699B2 (en) | Testing sub-systems of a system-on-a-chip using a configurable external system-on-a-chip | |
CN103914580B (zh) | 一种用于fpga电路位流仿真的方法 | |
Ayala | The 8051 microcontroller | |
TW201341811A (zh) | 主機板測試裝置及其轉接模組 | |
CN104778885A (zh) | 一种基于可编程逻辑器件的数字电路实验系统和方法 | |
US6959272B2 (en) | Method and system for generating an ATPG model of a memory from behavioral descriptions | |
CN111753475B (zh) | 一种基于Cortex-M0+微控制器仿真MSI数字逻辑芯片的方法 | |
CN103793263A (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
Bruce et al. | Personal digital assistant (PDA) based I2C bus analysis | |
CN204808308U (zh) | 基于可编程逻辑芯片的fpga/cpld程序下载器 | |
Beetner et al. | Laboratories teaching concepts in microcontrollers and hardware-software co-design | |
US7447619B2 (en) | Apparatus and method for composite behavioral modeling for multiple-sourced integrated circuits | |
US5721695A (en) | Simulation by emulating level sensitive latches with edge trigger latches | |
Donzellini et al. | Introduction to FPGA and HDL Design | |
CN201751923U (zh) | 基于嵌入式开发平台的实验装置 | |
Petrovic et al. | Educational microprocessor implementation on ZYNQ reconfigurable system on chip | |
Gupta et al. | Analysis of 16 bit Microprocessor Architecture on FPGA using VHDL | |
CN109669872A (zh) | 一种验证方法和装置 | |
JPS60163143A (ja) | 高インピ−ダンス状態検知方法 | |
Obrizan | A method for automatic generation of an RTL-interface from a C++ description | |
Diouf et al. | Robust nonlinear models for CMOS buffers | |
Pranoy et al. | FPGA implementation of a functional microcontroller | |
Gorton et al. | Simulating microprocessor systems using occam and a network of transputers | |
JP2712707B2 (ja) | マイクロプロセッサ開発装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |