分享

linux驱动概述和常用串行总线

 XeonGate 2015-11-18
 基础 知识
1、没有操作系统 的时候,工程师可以根据硬件设备的特点来自行定义接口,有操作系统的情况下,设备驱动 的架构由操作系统定义,驱动工程师必须按照相应的架构来设计驱动。
2、一个无限循环中包含了对设备驱动的检测以及设备的轮询是无操作系统设备驱动的典型方式。
3、在操作系统中,linx驱动扮演着连接linux 内核和硬件的角色,而操作系统屏蔽下层特性为应用 提供统一的API,操作系统使驱动变得更加复杂,但是却提供了更强大的功能,包括内存管理 并发控制等等。
4、驱动针对的对象是存储器和外设,linux将存储器和外设分为3个基础大类:字符设备,块设备和网络 设备。字符设备是必须以串行 方式访问的设备,如触摸屏,鼠标等,块设备可以用任意瞬息进行访问,以块为单位进行操作,如硬盘等。字符设备不需要进行系统的快速缓冲,而块设备则需要。
5、linux驱动与软硬件之间的关系:

6、中央处理器的体系结构一般分为两类,一类为冯诺伊曼结构,一类为哈佛结构。冯诺伊曼结构将数据 和指令放在一个存储器上,所以指令的长度和数据宽度是一样的,而哈佛结构将数据和指令分开存放,指令和数据具有不同的数据况度,因此哈佛结构采用了独立的程序总线 和数据总线。
7、 从指令集的角度,中央处理器又可以分为两类,一种是RISC(reduced instruction set computer),如我们熟知的ARM;另外一种是CISC。RISC指令长度短,指令周期短,但是相对生成的目标代码大,而CISC强调指令的能力, 指令长度长,指令周期长,生成的目标代码小。
8、数字信号处理器DSP也是一个MCU或者MPU,其指令针对图形图像,音频视频中常用的算法作了优化,一般采用哈佛结构。
9、存储器可分为只读存储器ROM,闪存FLASH,随机存储器RAM,以及光介质,磁介存储器等等。FLASH分为NOR(或非)和NAND(与非)两种,NOR可以片内执行,NAND不可以片内执行,但NAND容量大价格低,编程和擦除速度快。FLASH编程的原理 是只能将1写成0,不能将0写成1,所以FLASH编程之前要将对应块擦除,将是将所有数据写成1。
10、RAM分为SRAM和DRAM,静态ram加电以后就能稳定地保存一个数据,而动态ram因为使用电容,电容会由于漏电而导致电荷丢失,所以必须周期性地刷新。
11、 UART(universal asynchronous receiver transmitter),通用异步传输器,完成并行传输与并行传输之间的转换。UART比同步串口要复杂,硬件上包含两根线,一根用于发送一根用于接 收,如果用GPIO来模拟的话则需要两根线。
12、I2C(inter-integrated circuit)总线是PHILIPS公司开发的两线式串行总线。I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。I2C支持 多主控,但任一时候只能有一个主控,主控控制信号的传输和时钟频率。I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。
  开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
  结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
  应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。
13、 SPI(Serial peripheral interface),串行外围设备接口,是一种高速全双工同步通信总线。该接口一般有4条线:串行始终线SCK,主机输入从机输出线MISO,主机输出 从机输入线MOSI,以及从机选择线SS。有时候这4根线也被称为SCLK,SDI,SDO,CS。SCK只由主设备控制,从设备不能控制时钟线。SPI 是串行通讯协议 ,也就是说数据是一位一位传输的,由SCK提供时钟脉冲,SDI和SDO根据时钟脉冲完成数据传输。数据在时钟沿上升沿或者下降沿改变,在紧接着的下降沿或上升沿被读取,从而完成一位数据的传输。
SPI主模块和与之通信的从设备必须在时钟相位和极性上必须一致,这是配置SPI的一个关键过程。主设备的时钟极性和相位是根据从设备来决定的,一定要弄清楚从设备是在时钟的上升沿还是下降沿接收或者发送数据。
14、GPIO(general purpose input output)

名词解析:
1、 看门狗:俗称watchdog timer,是一种定时器电路,一般有一个输入,叫喂狗,还有一个输出连接到MCU的RST端,MCU正常工作时候,每隔一定是将会向看门狗的喂狗端输送 一个信号,将WDT的数据清0,如果MCU一定时间内没有喂狗,WDT定时超时(一般在程序跑飞的时候),看门狗就会向MCU发送RST信号,MCU复 位,这样可以防止MCU死机。看门狗的作用主要是防止程序陷入死循环或者说程序跑飞。
2、MCU(microcontroller),微控制器,强调将中央处理器,存储器以及外围电路集成在一个芯片上,早期又被称作单片机。
3、SOC(system on a chip) 片上系统 。
4、MPU(microprocesser),微处理器,比如说DSP,arm等等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多