Today's the day

向软件大牛炫耀我会焊单片机,向硬件大牛炫耀我会写 Rails,向软硬件大牛炫耀我生物,向软硬件生物大牛炫耀我会折腾期货 -_-bbb

初步愿望达成
慎用焊锡膏

USB 的 NRZI 编码

galeki posted @ 2009年7月24日 20:23 in 单片机 with tags usb RZ NRZ NRZI , 27336 阅读

这两天继续看 USB 相关的内容,准备用纯软件实现一下 USB 设备传输,为将来的项目打好基础。

首先碰到的就是这个 NRZI 编码的问题了,基础太薄弱,看了一上午总算明白了大概。


首先,USB 的数据是串行发送的,就像 UART、I2C、SPI 等等,连续的01 信号只通过一根数据线发送给接受者。

但是因为发送者和接收者运行的频率不一样,信号的同步就是个问题,比如,接受者接收到了一个持续一段时间的低电平,无法得知这究竟是代表了 5 个 0 还是 1000 个 0。

一个解决办法,就是在传输数据信号的同时,附加一个时钟信号,用来同步两端的传输,接受者在时钟信号的辅助下对数据信号采样,就可以正确解析出发送的数据了,比如 I2C 就是这样做的,SDA 来传输数据,SCL 来传输同步时钟:

虽然这样解决了问题,但是却需要附加一根时钟信号线来传输时钟。有没有不需要附加的时钟信号,也能保持两端的同步呢?

有的,这就是 RZ 编码(Return-to-zero Code),也叫做归零编码。

在 RZ 编码中,正电平代表逻辑 1,负电平代表逻辑 0,并且,每传输完一位数据,信号返回到零电平,也就是说,信号线上会出现 3 种电平:正电平、负电平、零电平:

从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不在需要单独的时钟信号。实际上, RZ 编码就是相当于把时钟信号用归零编码在了数据之内。这样的信号也叫做自同步(self-clocking)信号。

这样虽然省了时钟数据线,但是还是有缺点的,因为在 RZ 编码中,大部分的数据带宽,都用来传输“归零”而浪费掉了。

那么,我们去掉这个归零步骤,NRZ 编码(Non-return-to-zero Code)就出现了,和 RZ 的区别就是 NRZ 是不需要归零的:

这样,浪费的带宽又回来了,不过又丧失宝贵的自同步特性了,貌似我们又回到了原点,其实这个问题也是可以解决的,不过待会儿再讲,先看看什么是 NRZI:

NRZI 编码(Non-Return-to-Zero Inverted Code)和 NRZ 的区别就是 NRZI 用信号的翻转代表一个逻辑,信号保持不变代表另外一个逻辑。

USB 传输的编码就是 NRZI 格式,在 USB 中,电平翻转代表逻辑 0,电平不变代表逻辑1:

翻转的信号本身可以作为一种通知机制,而且可以看到,即使把 NRZI 的波形完全翻转,所代表的数据序列还是一样的,对于像 USB 这种通过差分线来传输的信号尤其方便~

现在再回到那个同步问题:

的确,NRZ 和 NRZI 都没有自同步特性,但是可以用一些特殊的技巧解决。

比如,先发送一个同步头,内容是 0101010 的方波,让接受者通过这个同步头计算出发送者的频率,然后再用这个频率来采样之后的数据信号,就可以了。

在 USB 中,每个 USB 数据包,最开始都有个同步域(SYNC),这个域固定为 0000 0001,这个域通过 NRZI 编码之后,就是一串方波(复习下前面:NRZI 遇 0 翻转遇 1 不变),接受者可以用这个 SYNC 域来同步之后的数据信号。

此外,因为在 USB 的 NRZI 编码下,逻辑 0 会造成电平翻转,所以接受者在接受数据的同时,根据接收到的翻转信号不断调整同步频率,保证数据传输正确。

但是,这样还是会有一个问题,就是虽然接受者可以主动和发送者的频率匹配,但是两者之间总会有误差。

假如数据信号是 1000 个逻辑 1,经过 USB 的 NRZI 编码之后,就是很长一段没有变化的电平,在这种情况下,即使接受者的频率和发送者相差千分之一,就会造成把数据采样成 1001 个或者 999 个 1了。

USB 对这个问题的解决办法,就是强制插 0,也就是传说中的 bit-stuffing,如果要传输的数据中有 7 个连续的 1,发送前就会在第 6 个 1 后面强制插入一个 0,让发送的信号强制出现翻转,从而强制接受者进行频率调整。

接受者只要删除 6 个连续 1 之后的 0,就可以恢复原始的数据了。


关于 NRZI,大致就是如此了,不知道上面所说的有没有错误。其实这种编码的应用非常广泛,比如串口、CD/DVD 和通讯中,今天才见到还真是惭愧啊……

  • 无匹配
tlhl28 说:
2009年7月27日 05:16

= =
要我看一个星期也写不出这东西 来。。。

Avatar_small
galeki 说:
2009年8月05日 04:59

@tlhl28: 寒……这东西确实比较绕

Jimm 说:
2013年8月20日 11:24

循序渐进的说明,很好。看了这篇指南,我很快将示波器中观察到的 USB 波形跟 PID 协议字段对应上了。谢谢,不然的话还得摸索好半天。

Mintisan 说:
2015年11月29日 21:05

很通俗易懂,谢谢博主:D

Duke 说:
2016年8月31日 17:52

那用 NRZ 不也沒差,SYNC 發送 0101010 方波同步,遇到 6 個連續的 1 或者連續的 0 就強制插一個取反。。。

gta 5 cheats xbox 36 说:
2017年12月28日 17:57

WIth the game for the sale to the page gta 5 game online.

QWOP 说:
2018年10月15日 11:03

This is very interesting information. Thank for sharing. For sure your suggestions will help me with

Fnaf Sister Location 说:
2018年11月06日 16:21

If there are many sad stories, share it with the people you trust. Sharing helps people get closer together and you also relieve some of that sadness.

White Rock Realtor 说:
2019年3月04日 19:49

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

how to grow my busin 说:
2019年3月05日 17:22

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

Best Mortgages 说:
2019年3月05日 20:04

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

house electrician 说:
2019年3月06日 14:56

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

chain link fencing L 说:
2019年3月06日 16:59

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

german laminate floo 说:
2019年3月06日 19:34

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

Bathroom Reno Vancou 说:
2019年3月06日 21:03

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

White Rock Real Esta 说:
2019年3月07日 13:48

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

drywall contractors 说:
2019年3月07日 15:07

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

Realtors 说:
2019年3月07日 19:01

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

kitchen renovation V 说:
2019年3月07日 20:10

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

Get a quote from the 说:
2019年3月07日 21:16

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

cleared property 说:
2019年3月08日 02:13

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

Kitchen Cabinets Van 说:
2019年3月09日 15:09

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

We make and deliver 说:
2019年3月09日 16:46

You completed certain reliable points there. I did a search on the subject and found nearly all persons will agree with your blog.

Zonnepanelen 说:
2019年3月10日 04:32

This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck

Webdesigner 说:
2019年3月10日 19:08

A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one.

Zonnepanelen 说:
2019年3月12日 14:28

Through this post, I know that your good knowledge in playing with all the pieces was very helpful. I notify that this is the first place where I find issues I've been searching for. You have a clever yet attractive way of writing.

xiaoyao66 说:
2019年5月07日 22:02

并不是.
NRZi的i目的是传输数据时候顺便就同步了.因为数据中0的数量明显大于1,而且大量连续出现的0比大量连续出现的1数量要多的多(原因写过程序的都知道).这样往往并不需要单独去插入一个bit-staffing来进行同步. 而NRZ就会遇到大量的0或者大量的1而不得不进行bit-staffing而明显降低了效率.这是好处1.
好处2是电器中对于变化检测更灵敏,使用检测变化/不变要比检测高位/低位更容易和准确一些.
好处3是我不需要管初始是高是低,正向反向传输都不会错,这样在电路设计上会容易一些.

brother mfc 9330cdw 说:
2019年6月04日 11:36

This is very interesting information. Thank for sharing.

adilkhatri 说:
2020年3月04日 18:05

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource... 먹튀검증

adilkhatri 说:
2020年3月04日 23:17

Customary visits recorded here are the most straightforward technique to value your vitality, which is the reason why I am heading off to the site regular, hunting down new, intriguing data. Many, bless your heart! top realtor oc

adilkhatri 说:
2020年3月05日 13:21

llo there mates, it is incredible composed piece completely characterized, proceed with the great work always. top oral surgeon oc

adilkhatri 说:
2020年3月05日 13:42

You re in purpose of actuality a without flaw website admin. The site stacking speed is astonishing. It sort of feels that you're doing any unmistakable trap. Besides, The substance are perfect work of art. you have completed a fabulous movement regarding this matter! septic tank service riverside

adilkhatri 说:
2020年3月05日 14:23

We ensure that your Global Entry and Nexus applications have the best possible chance of success by doing our best to ensure it is complete, accurate and mistake-free. We provide you with advice, guidance, and support to ensure all your questions are answered within 24 business hours. Global Entry application

adilkhatri 说:
2020年3月05日 19:05

This is extremely exceptionally decent post you shared, I like the post, a debt of gratitude is in order for sharing.. 토토사이트

adilkhatri 说:
2020年3月07日 12:02

Two full thumbs up for this magneficent article of yours. I've truly delighted in perusing this article today and I figure this may be outstanding amongst other article that I've perused yet. If it's not too much trouble keep this work going ahead in a similar quality. 일산가라오케

adilkhatri 说:
2020年3月07日 12:36

I wear t have room schedule-wise right now to completely read your site yet I have bookmarked it and furthermore include your RSS channels. I will return in a day or two. much obliged for an extraordinary site. 신용카드현금화

먹튀검증 说:
2020年3月07日 13:40

Wow what a Great Information about World Day its incredibly charming instructive post. an obligation of appreciation is all together for the post.

adilkhatri 说:
2020年3月07日 14:42

This post is extremely radiant. I extremely like this post. It is outstanding amongst other posts that I ve read in quite a while. Much obliged for this better than average post. I truly value it! 샌즈카지노

먹튀검증사이트 说:
2020年3月08日 19:45

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource...

best holographic gli 说:
2020年3月08日 22:56

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource...

미니게임사이트 说:
2020年3月09日 13:47

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource...

pioneerseo 说:
2020年3月10日 13:42

pertaining more to CBD/hemp/cannabis and aromatherapy. Things like that. All products on the site are legal in all 50 states and contain no THC. strain specific terpenes

adilkhatri 说:
2020年3月10日 17:47

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource... Homeopathy for Asthma

คาสิโนออนไลน์ 说:
2020年3月11日 17:27

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource...

bk8 说:
2020年3月12日 17:53

This is extremely exceptionally decent post you shared, I like the post, a debt of gratitude is in order for sharing..

adilkhatri 说:
2020年3月15日 18:24

I am continually hunting on the web down articles that can help me. There is clearly a great deal to think about this. I think you made some great focuses in Features too. Continue working, extraordinary job ! online payday loans

Humidification 说:
2020年3月17日 12:41

I am continually hunting on the web down articles that can help me. There is clearly a great deal to think about this. I think you made some great focuses in Features too. Continue working, extraordinary job !

Digital_work 说:
2020年3月18日 15:36

This is actually the kind of information I have been trying to find. Thank you for writing this information. mexican food

w88 说:
2020年3月19日 14:12

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource...

filmmaking modeling 说:
2020年3月20日 14:17

An obligation of appreciation is all together to share the data, continue doing magnificent... I really savored the experience of exploring your site. incredible resource...

Digital_work 说:
2020年3月20日 23:19

This is actually the kind of information I have been trying to find. Thank you for writing this information. bunnings fairy garden

Digital_work 说:
2020年3月22日 03:16

We have sell some products of different custom boxes.it is very useful and very low price please visits this site thanks and please share this post with your friends. taco time

Digital_work 说:
2020年3月22日 16:19

This is actually the kind of information I have been trying to find. Thank you for writing this information. Megapari

Digital_work 说:
2020年3月22日 16:28

Keep up the good work; I read few posts on this website, including I consider that your blog is fascinating and has sets of the fantastic piece of information. Thanks for your valuable efforts. Betonbet

Digital_work 说:
2020年3月23日 18:47

I invite you to the page where you can read with interesting information on similar topics. Sultanbet

Digital_work 说:
2020年3月28日 18:05

We have sell some products of different custom boxes.it is very useful and very low price please visits this site thanks and please share this post with your friends. günlük kiralık daire

Digital_work 说:
2020年4月01日 05:05

This is actually the kind of information I have been trying to find. Thank you for writing this information. dewa poker

Digital_work 说:
2020年4月07日 00:21

LonteQQ adalah situs permainan judi poker uang asli terbesar yang menyediakan 9 permainan seperti bandarq, dominoqq, sakong, aduq, poker, qq online terbaik dengan berbagai macam bonus yang dibagikan setiap minggunya. Raih kemenangan terbesar bermain judi online pkv games di situs LonteQQ. QQ Online

adilkhatri 说:
2020年4月13日 14:01

I am searching for and I want to post a remark that "The substance of your post is magnificent" Great work! 사설토토

adilkhatri 说:
2020年4月13日 22:29

Online personalised children’s clothing shop Lola’s Boutique

바카라사이트 说:
2020年4月14日 20:57

Incredible post I should state and much obliged for the data. Instruction is unquestionably a sticky subject. Be that as it may, is still among the main themes of our opportunity. I value your post and anticipate more.

바카라사이트 说:
2020年4月18日 01:05

I am searching for and I want to post a remark that "The substance of your post is magnificent" Great work!

미니게임 说:
2020年4月18日 02:16

Incredible post I should state and much obliged for the data. Instruction is unquestionably a sticky subject. Be that as it may, is still among the main themes of our opportunity. I value your post and anticipate more.

Digital_work 说:
2020年4月20日 00:35

I think this is an informative post and it is very beneficial and knowledgeable. Therefore, I would like to thank you for the endeavors that you have made in writing this article. All the content is absolutely well-researched. Thanks... weight loss diet

adilkhatri 说:
2020年4月21日 15:13

I am searching for and I want to post a remark that "The substance of your post is magnificent" Great work! 온라인카지노

adilkhatri 说:
2020年4月21日 18:08

Incredible post I should state and much obliged for the data. Instruction is unquestionably a sticky subject. Be that as it may, is still among the main themes of our opportunity. I value your post and anticipate more. 사설토토사이트

adilkhatri 说:
2020年4月24日 00:06

Incredible post I should state and much obliged for the data. Instruction is unquestionably a sticky subject. Be that as it may, is still among the main themes of our opportunity. I value your post and anticipate more. 메이저놀이터

pioneerseo 说:
2020年5月02日 19:40

카지노사이트 바카라사이트 홍보적사이트 코인카지노

adilkhatri 说:
2020年6月08日 11:04

Scion Staffing Los Angeles is an award-winning temporary staffing agency and executive search firm that connects leading corporations, startups, and nonprofit organizations with impeccable talent throughout the Los Angeles Metro region, all of Southern California, and nationally. temp agency los angeles

adilkhatri 说:
2020年6月14日 16:17

We are a small neighbourhood liquor store in the town of Athens, NY, USA. liquor store

안전놀이터 说:
2020年6月15日 03:07

stunning, awesome, I was thinking about how to cure skin inflammation normally. what's more, discovered your site by google, took in a ton, now i'm somewhat clear. I've bookmark your site and furthermore include rss. keep us refreshed.

우리카지노 说:
2020年6月27日 18:09

I am genuinely thankful to the holder of this site page who has shared this splendid section at this place

adilkhatri 说:
2020年7月03日 01:19

I am overpowered by your post with such a decent theme. Typically I visit your web journals and get refreshed through the data you incorporate yet the present blog would be the most obvious. Well done! joker3999

코인카지노 说:
2020年7月04日 20:53

Genuinely, this article is extremely one of the absolute best ever. I am an antique 'Article' gatherer and I at times read some new articles in the event that I discover them intriguing. What's more, I discovered this one entirely captivating and it ought to go into my gathering. Good work!

코인카지노 说:
2020年7月07日 13:17

Genuinely, this article is extremely one of the absolute best ever. I am an antique 'Article' gatherer and I at times read some new articles in the event that I discover them intriguing. What's more, I discovered this one entirely captivating and it ought to go into my gathering. Good work!

Linker SEO 说:
2020年7月08日 15:48

With such a noteworthy number of books and articles coming up to offer portal to benefit online field and perplexing peruser significantly more on the genuine technique for winning money, 먹튀

mtom55953 说:
2020年7月12日 02:01 Custom PVC patches or custom PVC labels, made with high-quality material, available here at low prices. This is one more awesome technique to provide identification to a clothing item. They are made from polyvinyl chloride. Custom PVC Patches
mtom55953 说:
2020年7月13日 21:23

Gangaur Realtech is a professionally overseen association work in land administrations where incorporated administrations are given by experts to its customers looking for expanded an incentive by owning, possessing or putting resources into land. Custom Patches

더킹카지노 说:
2020年7月15日 14:26

In the top casino online solutions, a player’s personal facts is safeguarded. The procedures of depositing and withdrawing money are clean transactions for people today on the top casino online option web sites.
https://casino-betting7.com
<a href="https://casino-betting7.com" title="더킹카지노">더킹카지노</a>

더킹카지노 说:
2020年7月15日 14:26

In the top casino online solutions, a player’s personal facts is safeguarded. The procedures of depositing and withdrawing money are clean transactions for people today on the top casino online option web sites.
https://casino-betting7.com
<a href="https://casino-betting7.com" title="더킹카지노">더킹카지노</a>

먹튀 说:
2020年7月16日 12:34

Just saying thanks will not just be sufficient, for the fantasti c lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates.

우리카지노 说:
2020年7月17日 21:01

Before everything, when you sign up for the Casino King site, you can get an honoring welcome bonus from your King of gambling!
https://theking-casino.com

<a href="https://theking-casino.com" target="_blank" title="우리카지노">우리카지노</a>

best internet provid 说:
2020年7月22日 15:33

Your texts on this subject are correct, see how I wrote this site is really very good.

best10 说:
2020年7月23日 20:28

For many people this is the best solution here see how to do it.

먹튀검증사이트 说:
2020年7月23日 22:59

In the first place You got an extraordinary blog .I will be keen on more comparative points. I see you got truly extremely helpful themes, I will be continually checking your blog much obliged.

liteblue login 说:
2020年8月04日 23:21

A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one.

süperbetin 说:
2020年8月20日 12:35

On my website you'll see similar texts, write what you think.

forvetbet 说:
2020年8月28日 15:40

For true fans of this thread I will address is a free online!

Bin Rentals 说:
2020年9月02日 02:55

I have checked this link this is really important for the people to get benefit from.

Security Training Co 说:
2020年9月11日 13:26

I have recently started a blog, the info you provide on this site has helped me greatly. Thanks for all of your time & work

seomaster 说:
2020年9月21日 13:21

Your texts on this subject are correct, see how I wrote this site is really very good. dailyexpertnews.com

seomaster 说:
2020年9月28日 16:19

I simply want to tell you that I am new to weblog and definitely liked this blog site. Very likely I’m going to bookmark your blog . You absolutely have wonderful stories. Cheers for sharing with us your blog. สล็อต

seo 说:
2020年10月04日 00:27

Your texts on this subject are correct, see how I wrote this site is really very good. 우리카지노

seo 说:
2020年10月05日 15:32

Your texts on this subject are correct, see how I wrote this site is really very good. tvist

ali 说:
2020年10月06日 19:44

Very interesting information, worth recommending. However, I recommend this: affärsjurist

ali 说:
2020年10月20日 18:39

I simply want to tell you that I am new to weblog and definitely liked this blog site. Very likely I’m going to bookmark your blog . You absolutely have wonderful stories. Cheers for sharing with us your blog. 토토커뮤니티

I realize this is on 说:
2020年10月21日 01:50

I realize this is one of the most meaningful counsel for me. And i am vivacious studying your article. however have to commentary upon some standard matters, the internet site style is unmodified; the articles are invincible. thank you for the ton of actual and viable explicit.

library genesis prox 说:
2020年10月21日 01:51

I realize this is one of the most meaningful counsel for me. And i am vivacious studying your article. however have to commentary upon some standard matters, the internet site style is unmodified; the articles are invincible. thank you for the ton of actual and viable explicit.

먹튀검증업체 说:
2020年11月01日 04:39

I’m going to read this. I’ll be sure to come back. thanks for sharing. and also This article gives the light in which we can observe the reality. this is very nice one and gives indepth information. thanks for this nice article...

att email login 说:
2020年11月06日 15:50

Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking.

umarfarooq 说:
2020年11月07日 18:40

Your texts on this subject are correct, see how I wrote this site is really very good. Judi Online

mail aol 说:
2020年11月12日 14:31

This is my first visit to your web journal! We are a group of volunteers and new activities in the same specialty. Website gave us helpful data to work.

실시간스포츠중계 说:
2020年11月13日 09:23

I'm merry I discovered this blog! Sometimes, understudies need to mental the keys of beneficial academic articles making. Your top notch finding out about this awesome post can transform into a true blue explanation behind such people. nice one

seomaster 说:
2020年11月19日 13:05

This is very interesting content! I have thoroughly enjoyed reading your points and have come to the conclusion that you are right about many of them. You are great. avtod streaming

umarfarooq 说:
2020年12月01日 13:07

Acknowledges for paper such a beneficial composition, I stumbled beside your blog besides decipher a limited announce. I want your technique of inscription... custom patches

ali 说:
2020年12月08日 20:26

I also wrote an article on a similar subject will find it at write what you think. dwi lawyer Shreveport

umarfarooq 说:
2020年12月14日 10:45

Your texts on this subject are correct, see how I wrote this site is really very good. Logo Digitizing

sabra 说:
2020年12月16日 12:07

I just thought it may be an idea to post incase anyone else was having problems researching but I am a little unsure if I am allowed to put names and addresses on here. visit this site

sabra 说:
2020年12月17日 12:50

I read this article. I think You put a great deal of exertion to make this article. I like your work. visit this site

seo 说:
2020年12月20日 12:09

I just thought it may be an idea to post incase anyone else was having problems researching but I am a little unsure if I am allowed to put names and addresses on here. 먹튀

ali 说:
2020年12月20日 18:59

I came onto your blog while focusing just slightly submits. Nice strategy for next, I will be bookmarking at once seize your complete rises... น้ำยาบุหรี่ไฟฟ้าpod

ali 说:
2020年12月20日 19:10

I came onto your blog while focusing just slightly submits. Nice strategy for next, I will be bookmarking at once seize your complete rises... skincare rx

sabra 说:
2020年12月20日 22:08

I really appreciate this wonderful post that you have provided for us. I assure this would be beneficial for most of the people. hire a bartender

ali 说:
2020年12月21日 19:35

I read this article. I think You put a lot of effort to create this article. I appreciate your work. Cheap Jordan

ali 说:
2020年12月21日 19:45

I read this article. I think You put a lot of effort to create this article. I appreciate your work. re branding

ali 说:
2020年12月21日 19:54

I read this article. I think You put a lot of effort to create this article. I appreciate your work. Lacrosse, Bandy

mciheal 说:
2020年12月22日 12:58

I am overpowered by your post with such a decent subject. Generally I visit your web journals and get refreshed through the data you incorporate yet the present blog would be the most obvious. Well done! syair hk

seo 说:
2020年12月23日 12:32

On this page you can read my interests, write something special. check this

토토 说:
2020年12月25日 03:37

I comprehend this section. I understand You put an a large number of battle to establish this story. I appreciate your procedure.

seo 说:
2020年12月27日 15:02

In this particular article, you will see a summary, satisfy browse this post. umrah packages

sabra 说:
2020年12月29日 13:16

It's superior, however , check out material at the street address. Affordable Montgomery Tree Service

seo 说:
2020年12月31日 12:24

It's superior, however , check out material at the street address. embroidery digitizing

sabra 说:
2021年1月04日 12:24

Interesting and interesting information can be found on this topic here profile worth to see it. website

seo 说:
2021年1月06日 00:50

I read this article. I think You put a great deal of exertion to make this article. I like your work. custom motorcycle vest

sabra 说:
2021年1月06日 14:41

I read this article. I think You put a great deal of exertion to make this article. I like your work. umrah packages

sabra 说:
2021年1月11日 00:27

You ought to basically fantastic not to mention solid advice, which means notice: buy google reviews

seo 说:
2021年1月13日 12:18

Such sites are important because they provide a large dose of useful information ... เครดิตฟรีล่าสุด

ali 说:
2021年1月13日 16:04

I read this article. I think You put a lot of effort to create this article. I appreciate your work. food ads

ali 说:
2021年1月13日 16:32

I read this article. I think You put a lot of effort to create this article. I appreciate your work. box office movies download

ali 说:
2021年1月13日 16:47

I read this article. I think You put a lot of effort to create this article. I appreciate your work. buy tiktok followers

sabra 说:
2021年1月19日 15:47

Within this webpage, you'll see the page, you need to understand this data. Buy joker jacket

sabra 说:
2021年1月24日 13:14

I understand this column. I realize You put a many of struggle to found this story. I admire your process. check this out

sabra 说:
2021年1月24日 13:15

I should say only that its awesome! The blog is informational and always produce amazing things.check this out

seo 说:
2021年1月26日 13:59

This is exciting, nevertheless it is vital for you to visit this specific url: 먹튀폴리스

sabra 说:
2021年2月03日 23:48

Amazing, this is great as you want to learn more, I invite to This is my page. custom patches

sabra 说:
2021年2月06日 13:53

These things are very important, good think so - I think so too... custom patches

sabra 说:
2021年2月06日 18:42

I understand this column. I realize You put a many of struggle to found this story. I admire your process. custom patches

sabra 说:
2021年2月07日 12:26

I just thought it may be an idea to post incase anyone else was having problems researching but I am a little unsure if I am allowed to put names and addresses on here. custom patches

sabra 说:
2021年2月07日 14:34

I read this article. I think You put a great deal of exertion to make this article. I like your work. custom patches

sabra 说:
2021年2月07日 20:02

So it is interesting and very good written and see what they think about other people. custom patches

sabra 说:
2021年2月09日 19:52

I read this article. I think You put a great deal of exertion to make this article. I like your work. check this out

sabra 说:
2021年2月10日 12:38

I read this article. I think You put a great deal of exertion to make this article. I like your work. check this out

sabra 说:
2021年2月10日 15:06

These things are very important, good think so - I think so too... check this out

Linker SEO 说:
2021年2月13日 18:10 Truly great post. I just unearthed your blog and needed to state that I have truly delighted in perusing your blog entries. Any way I'll be buying in to your nourish and I trust you post again soon. www.dynamicmarketing.sg/seo-consultant-singapore
Linker SEO 说:
2021年2月13日 18:17

As a matter of fact I read it yesterday however I had a few contemplations about it and today I needed to peruse it again on the grounds that it is exceptionally elegantly composed. Singapore training room rental

sabra 说:
2021年2月13日 23:38

You possess lifted an essential offspring..Blesss for using..I would want to study better latest transactions from this blog..preserve posting.. 먹튀

sabra 说:
2021年2月14日 23:25

I understand this column. I realize You put a many of struggle to found this story. I admire your process. Amber Sea

sabra 说:
2021年2月15日 18:34

I just thought it may be an idea to post incase anyone else was having problems researching but I am a little unsure if I am allowed to put names and addresses on here. Amber Park

sabra 说:
2021年2月19日 17:56

Amazing, this is great as you want to learn more, I invite to This is my page. 22bet

sabra 说:
2021年2月21日 17:10

I read this article. I think You put a great deal of exertion to make this article. I like your work. online casino

jojolei 说:
2021年2月22日 17:29

You really influence it to look so natural with your execution yet I observe this issue to be really something which I figure I could never appreciate. It appears to be excessively confounded and to a great degree expansive for me. I'm searching forward for your next post, I'll attempt to get its hang! buy suboxone strips online

sabra 说:
2021年2月22日 23:26

I read this article. I think You put a great deal of exertion to make this article. I like your work. 22bet

sabra 说:
2021年2月27日 12:53

Within this webpage, you'll see the page, you need to understand this data. zet casino

Linker SEO 说:
2021年2月27日 16:09

Small businesses should develop Wordpress websites that are fully SEO, and implement long-term strategies to increase web traffic & potential sales leads. free traffic sources list

Linker SEO 说:
2021年2月27日 16:18

When you first start a new website, you will always struggle to get visitors. You should use more than 200 traffic sources to bring users to your site. At the same time, build up your SEO traffic. SEO blog

seo 说:
2021年3月01日 13:29

Within this webpage, you'll see the page, you need to understand this data. online canadian casinos

jojolei 说:
2021年3月02日 13:48

Retail and office venues are often transformed into optimum marketing suites with the addition of great quality poster holders, poster displays and poster stands. Choose from a huge range of sizes; A4, A3,A2,A1 and A0. poster display

sabra 说:
2021年3月03日 18:16

Within this webpage, you'll see the page, you need to understand this data. wildz

sabra 说:
2021年3月05日 18:35

I read this article. I think You put a great deal of exertion to make this article. I like your work. betting sider

seo 说:
2021年3月06日 13:33

Within this webpage, you'll see the page, you need to understand this data. custom patches

sabra 说:
2021年3月07日 12:21

I like to recommend exclusively fine plus efficient information and facts, hence notice it: odds på nett

namaitbano 说:
2021年3月08日 14:04

I read this article. I think You put a great deal of exertion to make this article. I like your work. casino de portugal

sabra 说:
2021年3月13日 14:31

Amazing, this is great as you want to learn more, I invite to This is my page. www.schedulelogin.com

sabra 说:
2021年3月17日 21:41

Within this webpage, you'll see the page, you need to understand this data. check this site

sabra 说:
2021年3月17日 23:30

In this case you will begin it is important, it again produces a web site a strong significant internet site: malatya araç kiralama

malatya rent a car 说:
2021年3月23日 18:32

<a href="http://malatyakiralikaraba.com/" rel="nofollow">malatya rent a car</a>

jojolei 说:
2021年3月26日 13:55

Hi! This is my first visit to your blog! We are a team of volunteers and new initiatives in the same niche. Blog gave us useful information to work. You have done an amazing job! Sign Stands

namaitbano 说:
2021年4月07日 11:48

Your texts on this subject are correct, see how I wrote this site is really very good. hair loss prevention

sabra 说:
2021年4月14日 16:14

Amazing, this is great as you want to learn more, I invite to This is my page. online casino

sabra 说:
2021年4月15日 12:14

Amazing, this is great as you want to learn more, I invite to This is my page. casino online canada

sabra 说:
2021年4月16日 14:37

Amazing, this is great as you want to learn more, I invite to This is my page. click here,

sabra 说:
2021年4月17日 10:10

Amazing, this is great as you want to learn more, I invite to This is my page. online casino canada real money

sabra 说:
2021年4月18日 07:48

Amazing, this is great as you want to learn more, I invite to This is my page. Pinoy Tambayan

sabra 说:
2021年4月19日 11:12

I read this article. I think You put a great deal of exertion to make this article. I like your work. kasyno online

sabra 说:
2021年4月20日 07:29

Amazing, this is great as you want to learn more, I invite to This is my page. check this site,

jojolei 说:
2021年4月20日 15:33

Are you looking for How To Make Money Online With ClickBank Free Training? In this article, I will give you a valuable step by step guide on how to use ClickBank to find profitable products. You can then promote them to make money online. Additionally, I also recommend a shortcut if you don’t want to do all of the hard work yourself (get access to that shortcut below). heating repair

sabra 说:
2021年4月21日 07:40

I read this article. I think You put a great deal of exertion to make this article. I like your work. casino online

sabra 说:
2021年4月21日 17:52

Amazing, this is great as you want to learn more, I invite to This is my page. kasyna online

sabra 说:
2021年4月23日 11:34

Very good topic, similar texts are I do not know if they are as good as your work out. ranking kasyn

sabra 说:
2021年4月25日 08:34

I can give you the address Here you will learn how to do it correctly. Read and write something good. custom patches,

sabra 说:
2021年4月26日 13:22

I read this article. I think You put a great deal of exertion to make this article. I like your work. casino online

sabra 说:
2021年5月01日 09:24

Amazing, this is great as you want to learn more, I invite to This is my page. kaparós sorsjegy online

sabra 说:
2021年5月02日 07:21

Amazing, this is great as you want to learn more, I invite to This is my page. check this site,

sabra 说:
2021年5月04日 07:25

I read this article. I think You put a great deal of exertion to make this article. I like your work. kaparós sorsjegy online

sabra 说:
2021年5月07日 07:24

Amazing, this is great as you want to learn more, I invite to This is my page. betting sider

sabra 说:
2021年5月08日 12:40

I read this article. I think You put a great deal of exertion to make this article. I like your work. nye casino

Rank Xone 说:
2021年5月09日 19:18

If you don’t have a check-up planned, it can always be a good idea to get one sorted if possible! Miami dog grooming

sabra 说:
2021年5月10日 07:27

Amazing, this is great as you want to learn more, I invite to This is my page. online casino uk

sabra 说:
2021年5月11日 07:34

Awesome dispatch! I am indeed getting apt to over this info, is truly neighborly my buddy. Likewise fantastic blog here among many of the costly info you acquire. Reserve up the beneficial process you are doing here. visit this site

sabra 说:
2021年5月14日 13:10

Amazing, this is great as you want to learn more, I invite to This is my page. royal online

sabra 说:
2021年5月16日 12:42

Amazing, this is great as you want to learn more, I invite to This is my page. Get more info

sabra 说:
2021年5月17日 14:42

Amazing, this is great as you want to learn more, I invite to This is my page. Get more info

Rank Xone 说:
2021年5月18日 20:44

I'm cheerful I found this blog! Every once in a while, understudies need to psychological the keys of profitable scholarly articles making. Your top of the line learning about this great post can turn into a legitimate reason for such individuals. decent one Restaurant Dinnerware

sabra 说:
2021年5月19日 12:11

I read this article. I think You put a great deal of exertion to make this article. I like your work. pvc body bag

sabra 说:
2021年5月19日 14:19

These things are very important, good think so - I think so too... Get more info

namait 说:
2021年5月21日 14:31

On my website you'll see similar texts, write what you think. online casinos

sabra 说:
2021年5月21日 16:59

I read this article. I think You put a great deal of exertion to make this article. I like your work. casino online

sabra 说:
2021年5月23日 12:48

I read this article. I think You put a great deal of exertion to make this article. I like your work. 꽁머니

sabra 说:
2021年5月24日 12:30

Amazing, this is great as you want to learn more, I invite to This is my page. casino online

sabra 说:
2021年5月25日 15:19

Amazing, this is great as you want to learn more, I invite to This is my page. casino online

sabra 说:
2021年5月27日 12:12

I read this article. I think You put a great deal of exertion to make this article. I like your work. casino online

sabra 说:
2021年5月27日 14:40

Hmm… I interpret blogs on a analogous issue, however i never visited your blog. I added it to populars also i’ll be your faithful primer. custom chenille patches

sabra 说:
2021年5月28日 12:56

Amazing, this is great as you want to learn more, I invite to This is my page. blackjack online

sabra 说:
2021年5月30日 13:59

Amazing, this is great as you want to learn more, I invite to This is my page. kasyno online

sabra 说:
2021年5月30日 16:12

I read this article. I think You put a great deal of exertion to make this article. I like your work. custom chenille patches

seo 说:
2021年5月31日 13:33

I read this article. I think You put a great deal of exertion to make this article. I like your work. polskie kasyno online

seo 说:
2021年6月01日 19:51

Amazing, this is great as you want to learn more, I invite to This is my page. click here

sabra 说:
2021年6月02日 12:06

I read this article. I think You put a great deal of exertion to make this article. I like your work. casino på internet

sabra 说:
2021年6月02日 14:06

I should assert barely that its astounding! The blog is informational also always fabricate amazing entitys. custom chenille patches

sabra 说:
2021年6月03日 14:43

I read this article. I think You put a great deal of exertion to make this article. I like your work. custom chenille patches

sabra 说:
2021年6月04日 12:45

I read this article. I think You put a great deal of exertion to make this article. I like your work. bästa casinobonusar

seo 说:
2021年6月05日 01:47

I read this article. I think You put a great deal of exertion to make this article. I like your work. <a href="https://www.hometownstation.com/news-articles/world-gambling-laws-where-is-online-gambling-legal-in-2021-367485">casino portugal online</a>

seo 说:
2021年6月05日 01:47

I read this article. I think You put a great deal of exertion to make this article. I like your work. casino portugal online

sabra 说:
2021年6月05日 12:38

Very good topic, similar texts are I do not know if they are as good as your work out. casinobonusar

sabra 说:
2021年6月06日 15:00

I read this article. I think You put a great deal of exertion to make this article. I like your work. bingo online

sabra 说:
2021年6月07日 12:28

I should assert barely that its astounding! The blog is informational also always fabricate amazing entitys. kaszinó online

sabra 说:
2021年6月08日 19:08

Amazing, this is great as you want to learn more, I invite to This is my page. casino online

seoworker 说:
2021年6月09日 14:45

I like to recommend exclusively fine plus efficient information and facts, hence notice it: custom chenille patches,

sabra 说:
2021年6月09日 18:41

I read this article. I think You put a great deal of exertion to make this article. I like your work. custom biker patches,

sabra 说:
2021年6月10日 12:35

Amazing, this is great as you want to learn more, I invite to This is my page. casino portugal online

sabra 说:
2021年6月11日 12:44

Amazing, this is great as you want to learn more, I invite to This is my page. casinos online

sabra 说:
2021年6月11日 15:24

I should assert barely that its astounding! The blog is informational also always fabricate amazing entitys. custom biker patches,

sabra 说:
2021年6月12日 12:38

I read this article. I think You put a great deal of exertion to make this article. I like your work. casinos online

sabra 说:
2021年6月12日 23:36

Amazing, this is great as you want to learn more, I invite to This is my page. casinos online

Rank Xone 说:
2021年6月22日 19:06

This post is extremely superb. I extremely like this post. It is outstanding amongst other posts that I ve read in quite a while. You rock for this better than average post. I truly value it! كاميرات مراقبة الكويت

sabra 说:
2021年6月29日 23:50

Amazing, this is great as you want to learn more, I invite to This is my page. digitizing logos,

namait 说:
2021年6月30日 23:52

Amazing, this is great as you want to learn more, I invite to This is my page. attachments for skid steer

namait 说:
2021年7月02日 14:24

Amazing, this is great as you want to learn more, I invite to This is my page. custom clothing labels

seoworker 说:
2021年7月03日 22:31

Amazing, this is great as you want to learn more, I invite to This is my page. canadian casinos online

namait 说:
2021年7月04日 15:31

Amazing, this is great as you want to learn more, I invite to This is my page. motorcycle back patches

namait 说:
2021年7月05日 20:24

Amazing, this is great as you want to learn more, I invite to This is my page. online casino

seo 说:
2021年7月07日 17:38

Amazing, this is great as you want to learn more, I invite to This is my page. leather vest patches

namait 说:
2021年7月08日 13:54

Your texts on this subject are correct, see how I wrote this site is really very good. online casino canada

seo 说:
2021年7月09日 12:28

I read this article. I think You put a great deal of exertion to make this article. I like your work. keno online

seo 说:
2021年7月10日 13:58

Very interesting information, worth recommending. However, I recommend this: digitizing logos,

namait 说:
2021年7月16日 13:29

I read this article. I think You put a great deal of exertion to make this article. I like your work. online portugal

seoworker 说:
2021年7月16日 15:01

Hi there, I discovered your blog per Google bit searching for such kinda educational advise moreover your inform beholds very remarkable for me. video poker gratis

namait 说:
2021年7月17日 00:28

Amazing, this is great as you want to learn more, I invite to This is my page. casinos online

namait 说:
2021年7月20日 13:30

I read this article. I think You put a great deal of exertion to make this article. I like your work. kasyna online

seo 说:
2021年7月22日 15:04

I read this article. I think You put a great deal of exertion to make this article. I like your work. gry hazardowe online

seo 说:
2021年7月25日 13:49

Amazing, this is great as you want to learn more, I invite to This is my page. magyar online kaszinó

seo 说:
2021年7月26日 16:28

I read this article. I think You put a great deal of exertion to make this article. I like your work. digitizing logos,

namait 说:
2021年7月27日 13:14

Amazing, this is great as you want to learn more, I invite to This is my page. kaparós sorsjegy

iOSEmus 说:
2021年7月27日 22:25

I’ve read some good stuff here. Definitely worth bookmarking for revisiting. I surprise how much effort you put to create such a great informative website. iOSEmus

seo 说:
2021年7月28日 13:41

For this web site, you will see our account, remember to go through this info. best digitizing company,

namait 说:
2021年7月29日 13:11

Amazing, this is great as you want to learn more, I invite to This is my page. 먹튀폴리스

prediksi milan 说:
2021年8月20日 20:10

Thank you very much for writing such an interesting article on this topic. This has really made me think and I hope to read more. prediksi milan

seo 说:
2021年10月01日 12:37

I propose merely very good along with reputable data, consequently visualize it: 토토사이트

sabra 说:
2021年10月01日 18:00

Amazing, this is great as you want to learn more, I invite to This is my page. Madni Travel Agency Karachi

seo 说:
2021年10月02日 11:50

Hmm… I interpret blogs on a analogous issue, however i never visited your blog. I added it to populars also i’ll be your faithful primer. check this

sabra 说:
2021年10月02日 13:36

I read this article. I think You put a great deal of exertion to make this article. I like your work. Madni Travel Agency Karachi

sabra 说:
2021年10月02日 23:50

Amazing, this is great as you want to learn more, I invite to This is my page. umrah packages

sabra 说:
2021年10月03日 11:21

I read this article. I think You put a great deal of exertion to make this article. I like your work. Madni Travel Agency Karachi

sabra 说:
2021年10月03日 12:41

Initial You got a awesome blog .I determination be involved in plus uniform minutes. i view you got truly very functional matters , i determination be always checking your blog blesss. flight rates

sabra 说:
2021年10月10日 12:40

These things are very important, good think so - I think so too... indian visa

seo 说:
2021年10月12日 17:21

These things are very important, good think so - I think so too... Ativador Windows 10

adilkhatri 说:
2022年2月26日 11:32

Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts. 안전공원

adilkhatri 说:
2022年4月12日 13:15

Mmm.. great to be here in your article or post, whatever, I figure I ought to likewise buckle down for my own site like I see some great and refreshed working in your site. 청주토닥이


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter