如何学习单片机?

把这几个功能学透,你就掌握了单片机单片机的学习绝不仅仅是对一项知识的掌握。想要学好单片机,需要从硬件结构、内部资源、外设应用等几个方面多方位入手。而要想成为一名嵌入式工程师,就要对单片机的基础非常熟悉,并且掌握C语言当中各个功能的初始化、启动、停止各类函数的编写调试。那么想要掌握单片机需要从哪几个方面入手呢?1. 数字I/O的应用在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。

通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能。数学I/O应用的实验还有按键实验,当按下某键时,某LED灯被点亮。数字I/O实验教会我们单片机的编程思想,必须首先对单片机的相应寄存器进行配置,以初始化I/O引脚,这样才能使该引脚具备数字输入与输出功能。

单片机的一个内置或外置功能的使用,就是对该功能相关的寄存器进行设置,初始化,而这便是单片机编程的特点。少则4、5个函数搞定,多则十几行程序,要有耐心,别怕麻烦,所有的单片机都是这样。2. RS232串口通讯单片机都有UART接口,这个简单、古老的通讯方式可以与我们PC机的RS232接口直接连接通讯,当然,因为它们两者电平逻辑不同,必须要使用一个RS232电平转换芯片才能与PC机连接,例如Max232芯片。

UART接口的使用是非常重要的,通过这个接口,我们可以使单片机与PC机之间交换信息,“接口”概念的学习也便由此引入。使用UART接口也会学习到目前最为简单与常用的通信协议等知识。对于无法在线调试的单片机,也可以通过PC机的串口调试软件来监视到单片机实验板的数据。3. 定时器的使用学会定时器的使用,就可以利用单片机来实现典型的时序逻辑电路。

时序逻辑电路的应用是最强大、最广泛的。例如,在工业的控制中,我们让某个开关每隔1秒钟打开与关闭一次。这个方案可以通过普通的数字集成电路实现,也可以通过PLC来实现,也可以通过CPLD或FPGA来实现,但是只有单片机的实现是最简单,成本也是最经济的。定时器是单片机内部资源里最为重要的一个,更是逻辑与时间控制实现的基础。

4. 中断在单片机软件设计架构中,一段程序循环执行是其一个特点,也是一个弊端。每个操作指令的执行都需要一定的执行时间,如果程序没有执行到该指令,则该指令的动作就不会触发,这样就会忽略许多快速发生的事件,例如方波频率检测的上升沿。针对在单片机程序正常运行时能够对外部事件立即做出响应而设计了中断功能。当中断功能执行时,单片机优先处理中断程序,当中断处理完成后,再回到单片机的正常程序执行中。

中断的机理是比较容易理解的,但是什么时候打开中断,什么时候关闭、屏蔽中断,需要如何配置才能使能中断的某些功能,中断里要执行哪些程序,这些程序的要满足哪些要求就需要花些时间去理解与实践了。中断学会后,就可以编写复杂结构功能的程序,可以一边闪着小LED灯,一边扫描着按键,一边发送着数据,也可以干着多个事情……比如,中断功能可以使单片机吃着碗里的,看着锅里的。

根据传说中的8020定律,如果掌握了上面提到的这四步,那么就说明已经学会单片机80%的内容了。5. I2C,SPI通信单片机系统毕竟资源有限,而利用I2C、SPI通讯接口进行扩展外设是最常用的方法,也是非常重要的方法。这两个通讯接口都是串行通讯接口,典型的基础实验就是I2C的EEPROM实验与SPI的SD卡读写实验。

6. 比较、捕获、PWM功能比较,捕捉与PWM功能可以使单片机更加适合电机控制,信号检测,实现电机速度与步长的调节。PWM波现在又是LED调光的主要手段。这里已经初步接触了数字电路里的模拟电路部分。7. AD模数采集单片机目前基本都自带多通道A/D模数转换器,通过这些A/D转换器可以单片机获取模拟量,用于检测电压、电流等信号。

学习时要分清模拟地与数字地,参考电压,采样时间,转换速率,转换误差等重要概念。这一步学会了数字电路控制模拟电路部分,而最简单的A/D模数转换器就是电压表实验。8. 学习USB接口、TCP/IP协议、工业总线目前主流的通讯协议为:USB协——下位机与上位机高速通讯接口;TCP/IP——万能的互联网使用的通讯协议;工业总线——诸如Modbus,CANOpen等工业控制各个模块之间通讯的协议。

如何学习嵌入式?

是学习的话,你首先要有一定的c语言基础。楼下,我建议你是去五一单片机五一单片机是所有的。开发版里面的一个最。基础的一个东西。你把这个学会以后你就可以设计。更深更强更有尊严,更有科技能力的一些。单片机。其实强势也就是,单片机的一种比如说阿姆或者是说五一或者是说。和安卓都是一样的,他们的核心是一样的,都是用。

一块开发板上的多个FPGA间如何通讯?

对于多个FPGA之间的通信,只要IO连接上了,对于高速的数据流需要同步时钟,对于低速的接口,只需要异步处理即可。下面介绍几种FPGA之间常用的数据通信方式。一、GPIO通信两块FPGA之间通过普通IO互连,加上上拉电阻或下拉电阻的方式异步通信,这类通信适合电平信号,使能信号,逻辑控制信号的异步处理,起到通知,控制作用。

二、低速设备通信两块FPGA之间的常用低速设备通信有以下几个1、异步串口通信(UART)异步串口通信,是最常见的通信方式之一,是一种应用广泛的短距离串行传输接口。常常用于短距离、低速、低成本的通讯中。基本的UART通信只需要两条信号线(RXD、TXD)就可以完成数据的相互通信,接收与发送是全双工形式。

TXD是UART发送端,为输出;RXD是UART接收端,为输入。uart的数据协议简单,如下2、SPI总线通信SPI 总线有3线制(片选CS,时钟SCK,输入输出SDA)、四线制(片选CS,时钟SCK,输入SDIN、输出SDOUT)等,常用于操作NOR FLASH,一些专用芯片的配置总线,是一种高速的,全双工,同步的通信总线,SPI总线有四种工作模式,常见模式0和模式3。

3、I2C通信I2C总线常见于读写E2PROM,专用芯片的配置总线,DSP的启动方式之一。I2C总线只有两根线,时钟SCL,数据SDA(inout),从设备提供应答。I2C的速率有最大400K、100K。I2C时序如下:三、高速通信1、GTX/P/H通信1)、RapidIORapidio互连架构,旨在与最流行的集成通信处理器、主机处理器和网络数字信号处理器,是一种高性能的分组交换互连技术。

IT地址高性能嵌入式工业对可靠性、增加带宽的需求,以及更快的总线速度。 Rapidio标准分为三层:逻辑层、传输层和物理层。逻辑层定义了整个协议和包格式。运输层提供路线数据包从一个端点移动到另一个端点所需的信息。物理层 描述设备级接口细节,如包传输机制、流控制、电气特性和低级错误管理。

对于RapidIO通信,常采用FPGA内部SRIO IP core实现,SRIO系统框图如下:2)、PCIEPCI Express核心的7系列FPGA集成块是一个可靠、高带宽的可扩展的串行互连构建模块,它可配置为端点和根端口应用程序,可用于通信、多媒体、服务器和移动平台,并支持高端等应用程序医学成像、图形密集型视频游戏、DVD质量流媒体视频桌面和万兆以太网接口卡。

PCIE IP框图如下:3)、10G以太网10G以太网的实现主要采用FPGA内部MAC core和PMA/PCS核实现。对于高速的网络传输一般使用UDP传输协议,不适合TCP/IP协议(实现有难度)。UDP的优点就是不需要建立连接。对于两块FPGA之间传输数据,只用到MAC层传输即可。4)、aurora 8B/10Baurora 8B/10B IPcore设置如下:图 aurura ip参数设置一致5)、aurora64B/66Baurora64B/66B IPcore 设置如下:2、SelectIO1)、CameraLinkCameraLink接口常用在相机或高速图像传感器,用于传输高速图像、视频等。

2)、High Speed IO高性能的IO速度能跑到几百M,总线包括高速时钟和高速数据线,利用 IDELAYE2、IDELAYCTRL、ODELAYE2原语,通过训练字调节IO输入延时(ps级),对齐数据的相位,便于时钟采样,Serdes实现了高速串并转换。Serdes 输入输出实现依赖于xilinx的底层原语,serdes输入如下:serdes输出如下:总结,FPGA与FPGA之间通信很简单,能做异步传输,也可以同步传输,可以低速传输,也可以高速传输。


文章TAG:SRIO  srio  
下一篇