DDR中write preamble 和 read preamble

DDR中write preamble 和 read preamble,第1张

DQS 是 DDR 中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一个 DQS 信号线,它是双向的,在写入时它用来传送由内存控制器发来的 DQS 信号,读取时,则由芯片生成 DQS 向内存控制器端发送。完全可以说,它就是数据的同步信号

可以通过 DQS 的传输信号来判断是信号开始还是结束。此外,也
可以通过 DQS 与 DQ 的相位关系来判断传输信号是 Read 或是 Write 信号。

下面是一个DDR4 read preamble的例子
Read preamble modes of 1 tCK and 2 tCK are shown below

我们可以看到在DQ信号开始传送的时候, DQS 会先有一个从上到下,再往上的信号,维持时间为一个 tCK,这个 信号我们称之为Read Preamble,其用意主要是在提示 Memory Controller Read 的资料即将出现。而在 DQ 信号即将结束的时候 DQS 也会有一个由下往上的信号,维持时间为05个tCK,这个信号我们称之为 Read Postamble,其用意主要是在提示 Memory Controller Read 的资料即将传送结束。

Write 信号也会有 Write Preamble 跟 Write Postamble,我们可以看到 Write Preamble 与 Read Preamble 不同,也是先上在下的信号,而 DQS 与 DQ 的 Edge 则有一个 90 度的相位差。

1tCK和2 tCK分别代表preamble的宽度。

此外,我们也可以通过DQS 与 DQ 的相位是否切齐来判断此时信号为为Read Or Write,切齐则是read *** 作,相差90度是write *** 作。

write/read,是关于写特定的文件描述符使用的比较底层的系统调用,sendto/recvfrom适用于用udp(数据包)方式的套接字中使用的,其他的没见过,我是学linux编程的

Read是一个英文单词,主要用作为名词、动词、形容词,作名词时翻译为“阅读;读物”,作及物动词时翻译为“阅读;读懂,理解”,作不及物动词时译为“读;读起来”,作形容词时翻译为“有学问的”。

短语搭配

read in [计]读入。

read and write 读和写;直读式记录。

read english 读英语。

read about 阅读而知。

read books 阅读,读书。

read a book 看书,读书。

read on 继续读下去。

read out 宣告开除;把…读出。

read aloud 大声朗读。

read as 改为;把……错误地当作。

双语例句

1、I can't read this small type

我无法读这种小号字体。

2、He read a passage from Emerson

他读了一段爱默生的作品。

3、How can you read such filth

你怎么能看这种读物呢?

1什么是蓝牙40,蓝牙其它标准又是什么?

详细描述:低功耗蓝牙(Low Energy; LE),又视为Bluetooth Smart或蓝牙核心规格40版本。其特点具备节能、便于采用,是蓝牙技术专为物联网(Internet of Things; IOT)开发的技术版本。所以它最主要的特点是低功耗,普及率高。现在所说的蓝牙设备,大部分都是在说40设备,ble也特指40设备。 在40之前重要的版本有 21版本-基本速率/增强数据率(BR/EDR) 和 30 高速蓝牙 版本,这些统称为经典蓝牙。40还有41和42的小版本,其中42版本对传输速率做了进一步他提升,提高了25倍,苹果从iphone6开始使用42,最新的蓝牙标准为蓝牙50,其中最大的特点连接范围扩大了4倍,速度又提高了2倍,无连接数据广播能力提高了8倍,增加了蓝牙组网的能力。

2蓝牙开发必须知道的概念。

211 central和peripheral:
蓝牙应用开发中,存在两种角色,分别是central和peripheral(pə’rɪfərəl) ,中文就是中心和外设。比如手机去连接智能设备,那手机就是central,智能设备就是peripheral。大多时候都是central去连接peripheral的场景。
212 广播和连接:
peripheral会发出广播,central扫描到广播后,可以对设备进行连接,发出connect请求,peripheral接收到请求后,同意连接后,central和peripheral就建立了连接。
213 连接后的 *** 作:

write,read,notify,indecate, response or not …
indecate和notify的区别就在于,indecate是一定会收到数据,notify有可能会丢失数据(不会有central收到数据的回应),write也分为response和noresponse,如果是response,那么write成功回收到peripheral的确认消息,但是会降低写入的速率。
214 协议:

每个具体的智能设备,都约定了一组数据格式,这个就是数据协议,例如手环中获取到数据0X001023,其中第2位到第5位表示步数,那么就2310就是步数的16进制的数据,转换成10进制就是8976步,需要注意的是,设备端都是小端模式,所以取4位时候,高字节在前低字节在后。
3 iOS蓝牙应用的一般开发流程。
4 蓝牙的数据交互。

write,read,notify,indecate, response or not … 都是容易理解的,indecate和notify对应的是长连接,建立indecate后,peripheral可以随时往central发送数据。
indecate和notify的区别就在于,indecate是一定会收到数据,notify有可能会丢失数据(不会有central收到数据的回应),write也分为response和noresponse,如果是response,那么write成功回收到peripheral的确认消息,但是会降低写入的速率。
对于一个charateristic,他的读写订阅的权限是peripheral决定的,熟悉可以被同时设置,一般会根据外设的功能来决定。
5蓝牙ota DFU。

蓝牙ota,DFU(Device Firmware Update)指的是蓝牙设备的固件升级,其实是一整套流程,不同的蓝牙芯片,ota的流程有不同之处,我这里用ti的芯片举例。步骤为:切系统(bootloader mode),重启,传输数据,验证数据,切系统,重启,完成。
其中数据传输也会分成很多节去发送,没法送一段数据,做一次数据校验。

6ota存在的问题。

每个智能设备的速率,功耗,存储都会有很多限制,导致很多设备会自己去实现ota的功能,自定义流程和数据传输方式,导致许多设备都是有自己私有的ota模式和协议,所以在做开发的时候,要仔细阅读设备协议中对ota的描述。
7如何做自动重连。

只需要在设备断开连接的委托方法中,重新调用gattconnet或者是centralManagerconnet方法就可以了,无论当时设备是否有点,是否在周围,当设备再次开会或者连接到可连接范围内,都会自动被连上。
8连接失败处理。

分两个平台来说,iOS端也有连接失败的委托,但是好像几乎不会发生这种情况,而对于同款设备,android常常会出现连接失败的情况,status != BluetoothGattGATT_SUCCESS,android端开发请不要把连接失败和断开连接放在一块处理,因为断开连接可以直接尝试重新连接,而连接失败后尝试重新连接,需要加一些延时,并且需要gattclose,清空一下状态,否则会把gatt阻塞导致手机不重启蓝牙就再也无法连接任何设备的情况 。
9后台运行。

iOS后来运行,需要设备中infoPlist权限,key:Required background modes ,value: bluetooth-central(手机作为central) , bluetooth-peripheral。
10同时连接多个设备。

使用同一个CBCentralManager,通过进入委托的peripheral的identifier区分不同的设备,进行不同的 *** 作和处理。
11扫描广播包。

所有外设,只有在发出广播包的情况下,才能被central发现,绝大多数情况下,外设被连接后就不会发出广播(也有例外),很多人遇到无法找到设备的问题,大多属于这种情况。
12提高蓝牙连接速度。

无论是iOS,还是android,都可以通过已绑定的设备,在不开启扫描的情况下进行快速连接,iOS需要的参数是peripheral的identifier,android需要mac地址。但android和iOS还是有一些区别的,比如iOS不能拿到已绑定的设备list,但是可以通过UUID去拿到peripheral的实例。而android可以拿到已绑定的设备list。android绑定过程需要手动调用createBond的方法,而iOS在连接成功一次后会自动绑定。 android在处理createBond时,常常会应为不同手机平台,不同设备,会产生兼容性的问题,这点需要注意。
13定向扫描。

在扫描时候可以传入serviceUUID,这样可以扫描到特定条件的设备,提高扫描的速度,排除干扰。
14如何获取mac地址。

而iOS出于苹果的安全策略问题,无法直接获得mac地址,只能得到一个mac地址换算出来的identifier。

1 I like the blue sweater   
2 It is time for breakfast
3 Let's go to the art room
4 What time is it
5 What colour is it


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13399234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存