当前位置:  编程技术>移动开发
本页文章导读:
    ▪Intel 4004,世界下首个CPU,进不惑之年        Intel 4004,世界上首个CPU,进不惑之年你可能没有意识到,今天,世界上最重要的一项技术正值其40岁生日。1971年11月15日,一家名叫 Intel 的公司发布了其 Intel 4004 处理器——世界上首个单芯.........
    ▪ NRF24L01——工作原懂得读        NRF24L01——工作原理解读1、一个发送通道,6个接收通道。发送端发送通道地址寄存器中的地址指向的就是接收端哪个接收通道接收发送端的数据,所以发送端地址寄存器的值要与接收端需要.........
    ▪ PCI 总路线学习笔记       PCI 总线学习笔记转载请注明出处:http://blog.csdn.net/lg2lh/article/details/8042008 PCI的基本协议这里就不介绍了,因为一般的芯片协议都是集成好的,我只需要大体了解就行,不需要做芯片,我感觉.........

[1]Intel 4004,世界下首个CPU,进不惑之年
    来源: 互联网  发布时间: 2014-02-18
Intel 4004,世界上首个CPU,进不惑之年
你可能没有意识到,今天,世界上最重要的一项技术正值其40岁生日。1971年11月15日,一家名叫 Intel 的公司发布了其 Intel 4004 处理器——世界上首个单芯片处理品,计算机发展史上最重要的里程碑之一!

 
Intel 4004 引脚

 
Intel 4004 逻辑

    
[2] NRF24L01——工作原懂得读
    来源: 互联网  发布时间: 2014-02-18
NRF24L01——工作原理解读

1、一个发送通道,6个接收通道。发送端发送通道地址寄存器中的地址指向的就是接收端哪个接收通道接收发送端的数据,所以发送端地址寄存器的值要与接收端需要接受数据的通道地址相同。

看一下无线数据传输的数据帧格式

第二部分的地址,就是接收端接收数据的通道地址,这个地址由发送端TX_ADDR寄存器搞定。


2、必须要搞清楚发送地址和接收地址的意义。下面两端描述的是一个意思。我的两次理解。

要先搞清楚TX_ADD和RRX_ADDR_PX。TX_ADD就一个,是发送数据帧格式中发送的地址信息,如上1所示,这个地址指定了向接收端接收数据通道的地址。NRF24L01接收端在确认收到数据后记录地址,并以此地址为目标地址发送应答信号,(就是说接收端的TX_ADDR中存的地址就是发送端TX_ADDR中的地址,而发送端要以又要用通道0来接收应答,所以需要将通道0的地址设置为该地址,即发送端TX_ADDR中的值)。在发送端,数据通道0被用作接收应答信号,因此发送端通道0的接收地址要与发送地址端地址相等,以确保接收到正确的应答信号。

注意每个NRF24L01只有一个发送通道,用来指示向接收端NRF24l01的哪个接收通道发送数据,即TX_ADDR(即只有一个发送目标地址寄存器)不要被TX5迷惑,这里5是指第五个NRF24l01.但一个NRF24L01是有6个接收通道的,每个通道有自己的地址。所以一个2401可以接收6个2401发送来的数据。在发送模式下,发送端的2401会用自己接收通道0来接受 接收端的2401发送来的相应信号。但是接收端的2401发送应答信号的时候,也发送的地址就是接收端的某个接受通道的地址。所以发送端的接收通道0的地址要设置成这个地址。


例子:

TX5:TX_ADDR=0xB3B4B5B605

TX5:RX_ADDR_P0=0xB3B4B5B605

RX:RX_ADDR_P5=0xB3B4B5B605


3、

两种数据双方向的通讯方式:

如果想要数据在双方向上通讯,PRIM_RX 寄存器必须紧随芯片工作模式的变化而变化。处理器必须保证PTX和PRX 端的同步性。在RX_FIFO和TX_FIFO 寄存器中可能同时存有数据。



    
[3] PCI 总路线学习笔记
    来源: 互联网  发布时间: 2014-02-18
PCI 总线学习笔记

转载请注明出处:http://blog.csdn.net/lg2lh/article/details/8042008

PCI的基本协议这里就不介绍了,因为一般的芯片协议都是集成好的,我只需要大体了解就行,不需要做芯片,我感觉就不需要太了解协议。 

这里讲解是基于PLX 的9054(9052)芯片为基础的,本人只是入门,望批评指正。

一、地址映射与数据传输

上图中间部分是9054的内部结构图,9054实际上充当了一个“桥”的作用,即所谓的“桥片技术”。9054的作用其实是把LOCAL总线端管理的一片地址,和PCI总线端管理的一片地址一一对应起来,即所谓的地址映射,而PCI总线与PC机的CPU管理的内存地址又是一一对应的,这样就实现了桥:CPU 地址 <=> PCI 地址 <=> LOCAL 地址。

一般系统PCI地址是CPU地址一部分,关于PCI地址与系统地址关系可以看另一篇转载博文http://blog.csdn.net/lg2lh/article/details/8041029。

上面只是说了LOCAL总线与PCI总线以及CPU总线的对应关系,但是PCI技术的实际作用是进行数据传输。由内部结构图可以看出,9054内部没有什么存储单元,只有几个FIFO。那系统是怎么进行数据传输的呢,大家都知道一段地址对应了一段存储空间,由上面地址映射可以知道,PCI芯片9054实际就是把LOCAL总线地址管理的外部存储空间的数据传输到PCI总线地址对应的内存空间中,及CPU的内存空间。或者是将内存中的数据传输到LOCAL总线管理的外部地址空间中去。Local端地址总线管理的存储空间一般由我们的控制芯片如FPGA或MCU提供。

二、PCI9054的基本知识

PCI9054的引脚主要分为3部分:PCI总线接口,LOCAL总线接口,及串行EEPROM总线接口。

LOCAL总线的数据宽度为32位,时钟可达50Mhz。下面介绍三种总线的作用,接口图如下图所示。


PCI总线接口:负责与PC机PCI总线通信,要接至PCI板卡的金手指处,对32位系统,金手指一共120跟信号线,A,B两面各60根,1-62,其中50,51处,无金手指引脚,共60根。

LOCAL总线接口:主要负责LOCAL端地址数据管理,与外围CPLD或MCU相连。

串行EEPROM总线接口:主要负责PCI9054的所有的寄存器配置,将寄存器配置烧写至EEPROM,PCI设备上电后加载EEPROM内容,完成PCI9054的寄存器配置。主要包括:PCI配置寄存器,PCI本地配置寄存器,运行时间寄存器,DMA配置寄存器,I2O信息寄存器(消息队列寄存器?)。

 

PCI9054的PCI总线与LOCAL总线数据传输主要有三种模式:主模式,从模式,DMA模式。

而LOCAL总线的控制也有三种模式,M,C,J模式。其中常用C模式:地址数据总线非复用模式。

 

三、PCI9054的寄存器之间的关系

前面第一节讲到了PCI总线与LOCAL地址映射,以及PCI地址与PC机内存空间映射,一般PC机就认为PCI地址就是内存空间地址,所以9054解决的就是把LOCAL总线管理的地址空间与内存空间地址对应起来,下面讲一下如何通过9054寄存器配置映射关系。

要明确,是通过PLX_MON这个软件按要求配置好各寄存器内容,然后将数据烧写到EEPROM中,共17字。

首先看一下PCI9054寄存器主要有哪些,前面已说主要有五部分:PCI配置寄存器,PCI本地配置寄存器,运行时间寄存器,DMA配置寄存器,I2O信息寄存器(消息队列寄存器)

 

1、 PCI配置寄存器:主要用来配置与PCI总线相关的寄存器,例如,设备ID,供应商ID,类别代码,版本号,系统供应商ID,子系统ID等。PCI设备ID为9054,供应商ID为10B5,类别代码0680。对应寄存器如下:


主要介绍一下最后四个寄存器,这四个主要完成LOCAL端总线相关的寄存器在PCI总线的映射,以及LOCAL总线管理的地址空间在PCI总线上的映射。这四个寄存器都是由系统进行配置的,无法通过EEPROM配置。其中PCIBAR0,PCIBAR1,比较好理解,就是把LOCAL总线配置寄存器,DMA寄存器,运行寄存器映射到对应的内存空间去,配置的值就是他们在内存空间的起始地址。

下面介绍PCIBAR2,PCIBAR3寄存器,后面会提到LOCAL总线管理了两部分地址空间,space0和space1。PCIBAR2,PCIBAR3就是把这两部分映射到PCI总线地址上,即把这两个空间映射到PC机的内存空间。PCIBAR2的配置值就是LOCAL总线端space0空间映射到PCI内存空间的起始地址,PCIBAR3的配置值则是LOCAL总线端space1空间映射到PCI内存空间的起始地址。而LOCAL总线端SPACE0和SPACE1在local端的实际地址及范围,则是由LOCAL配置寄存器决定。下面介绍LOCAL端配置寄存器。

 

2、 LOCAL配置寄存器


SPACE0对应的寄存器。

LAS0RR:SPACE0基地址寄存器。这个寄存器与PCI总线的PCIBAR2寄存器相互对应,即LOCAL端的FPGA(MCU)就是通过访问这个地址来访问PCIBAR2所指的PCI内存空间。

若此时LAS0RR设为0x80000001,而PCIBAR2设置值是0XE7000000.则对于PCI空间0XE7000000的访问就会映射到对本地空间0x80000001的访问。映射图如下。


LAS0BA:SPACE0空间的地址范围,在EEPROM的设置值是实际范围的补码。

 

LAS1RR, LAS1BA与上面两个相同,只是用来映射SPACE1空间起始地址和范围的,不再赘述。

 

3、 DMA配置寄存器


4、 寄存器配置方法

最后介绍一下EEPROM配置字,配置字有长加载模式和额外长加载模式,其中长加载模式共17个长字,额外长加载模式则22个长字。其中LAS1RR, LAS1BA这两个寄存器是在额外长加载模式中配置的。对PLX9054最重要的配置就是完成对PCI寄存器和LOCAL寄存器的配置。17长字与22长字具体加载内容如下表。








    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
数据库 iis7站长之家
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3