首页 > 编程知识 正文

单片机fpga在线可重配置(fpga与单片机的串行通信设计)

时间:2023-05-06 07:39:46 阅读:886 作者:863

单片机的特点:

(1)由于集成的限制,片上内存容量较小,内部ROM一般小于8kb;

(2)内部内存:256 KB以内。

(3)高可靠性

(4)易于扩展

(5)强大的控制功能

(6)易于开发

ARM的特点:

(1)自带廉价的程序存储器(FLASH)和非易失性数据存储器(EEPROM)。这些存储器可以多次电擦除,使得程序开发实验更加方便可靠。

(2)高速低功耗。在与M51微控制器外部晶振相同的情况下,AVR微控制器的工作速度比M51微控制器高30-40倍。并且增加了休眠功能和CMOS工艺,使其功耗远低于M51单片机。

(3)工业级产品。大电流输出,可以直接驱动SSR和继电器,看门狗定时器可以防止程序乱飞,提高了产品的抗干扰能力。(4)超函数约简指令,32个通用工作寄存器,相当于M51 MCU中的32个累加器!从而克服了单一蓄能器的瓶颈效应。(5)程序易于下载。AVR单片机可以并行或串行下载,无需昂贵的编程器。另外,你可以在网上下载!也就是说,程序可以直接在电路板上修改刻录。

(6)具有模拟比较器、脉宽调制器和模数转换功能。它使工业控制中的模拟信号处理更简单、更方便。

(MCU内部的重要资源,如并口、定时器计数器、中断系统等功能都有了很大的提升,使其更适合工业生产过程的实时控制。

(8)其时钟频率可外接或采用单片机内部振荡器,频率可设置在1MHz-8MHz范围内,使硬件开发和生产更加简洁。

(9)强大的通信功能,内置同步串行接口SPI、通用串行接口UAST和双线串行总线接口TWI(I2C),使得网络控制和数据传输更加方便。

(10)超密功能,应用可采用多重保护锁。可以快速低成本完成厂商产品的商业化等等。除了以上特点,“零外设”也是AVR嵌入式MCU的一个重要特点。因为芯片内置了程序存储器、晶振和在线组装功能。因此,AVR单片机芯片可以通过连接DC电源和下载程序独立工作。不需要额外的外部设备、昂贵的编程器和模拟设备。这给我们的学习和发展带来了便利。

FPGA的特点:

(1)利用FPGA设计ASIC电路(专用集成电路),用户无需芯片生产即可获得合适的芯片。

(2)FPGA可以作为其他全定制或半定制ASIC电路的先导样本。

(3)FPGA中有丰富的触发器和I/O引脚(3)。

(4)FPGA是ASIC电路中设计周期最短、开发成本最低、风险最低的器件之一。

(5) FPGA采用高速CMOS技术,功耗低,可兼容CMOS和TTL级别。

可以说,FPGA芯片是小批量系统提高系统集成度和可靠性的最佳选择之一。

FPGA的工作状态是由存储在片上ram中的程序设置的,因此在工作时需要对片上RAM进行编程。用户可以根据不同的配置模式采用不同的编程方式。

上电时,FPGA芯片将EPROM中的数据读入片上编程RAM。配置完成后,现场可编程门阵列进入工作状态。断电后,FPGA恢复为白色芯片,内部逻辑关系消失,可以重复使用。现场可编程门阵列编程不需要专门的现场可编程门阵列编程器,只需要一个通用的可编程只读存储器和可编程只读存储器编程器。当需要修改FPGA的功能时,只需更换一个EPROM即可。这样,相同的FPGA和不同的编程数据可以产生不同的电路功能。因此,FPGA的使用非常灵活。

嵌入式系统的特点:

1.系统内核小。由于嵌入式系统一般应用于小型电子设备,系统资源相对有限,内核比传统操作系统小得多。比如Enea公司的OSE分布式系统,内核只有5K,而Windows的内核呢?根本没有可比性。

2.强规格

常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的 “升级”是完全两个概念。

3.系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。

4.高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。

5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS (Real-time Operating System)开发平台,这样才能保证程序执行的实时性、 可靠性,并减少开发时间,保障软件质量。

6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进 行

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。