Malay
颜色选择
阳光橙
深夜黑
天空蓝
葡萄紫
薄荷绿
深海蓝
首页
论坛
佳礼报道
新闻
搜索
2666
查看
52
回复

[建议] 单晶片区搞个设计比赛的话..

[复制链接]

楼主: kmy.111014       显示全部楼层   阅读模式

楼主
 楼主| 发表于 16-1-2014 07:10 PM | 显示全部楼层
Ic3tAe 发表于 16-1-2014 05:35 PM
一個解波器接電腦可以秒殺全部
神马hardware都是浮云

什么解波器?
贴图片来看看

dsPIC又什么好?来介绍看看,上面有人问,要一些推荐。
回复

使用道具 举报

发表于 17-1-2014 01:54 AM | 显示全部楼层
kmy.111014 发表于 16-1-2014 07:10 PM
什么解波器?
贴图片来看看

我自己想出來的

一邊收signal,hardware process 後send進電腦,電腦process 快很多
回复

使用道具 举报

楼主
 楼主| 发表于 17-1-2014 11:22 AM 来自手机 | 显示全部楼层
Ic3tAe 发表于 17-1-2014 12:54 AM
我自己想出來的

一邊收signal,hardware process 後send進電腦,電腦process 快很多

哦,如果你是说把signal传去电脑,再用电脑软体来做处理和显示会比较快的话,很可惜那是错误的观念。

打个例子,如果硬体要用一个时钟上升沿处理讯息,电脑可能需要一千个时钟来处理相同信息。

这点你可以从硬体处理的fft和软体处理的fft,做个比较,你就会知道什么事了。

不过,利用电脑处理当然也有自己的好处,现在暂且不说。
回复

使用道具 举报

发表于 20-1-2014 08:22 AM | 显示全部楼层

RE: 单晶片区搞个设计比赛的话..

kmy.111014 发表于 17-1-2014 11:22 AM
哦,如果你是说把signal传去电脑,再用电脑软体来做处理和显示会比较快的话,很可惜那是错误的观念。

...

不完全認同,hardware 1小時 = software 1000小時應該是80到90年代的觀念,至少一個完全沒graphic優化的OS可以減少很多時間。

再來GPU在signal processing不會比一般DSP MCU差 ,對於一個擅長於processing  three dimensional signal的IC來說,two dimensional signal 不算什麼 。

當然我也認同software 不會比hardware 快,但是我提出software 的原因是當今 cpu processor 的速度仍然把MCU給比下去(Android 崛起,embedded在近5年快速增長,不排除會有反彈的機會),software在這種不公平的比較下,還是會比一般embedded based device 快。

寫到明白點,看看以下兩個比較,一個是pc王,一個是embedded王:
Intel Core i7 Extreme Edition 3960X (Hex core) - 177,730 MIPS at 3.33 GHz - 53.37 MIPS / MHz
Samsung Exynos 5250 (Cortex-A15-like Dual core) - 14,000 MIPS at 2.0 GHz - 7 MIPS / MHz
Ref: http://en.wikipedia.org/wiki/Instructions_per_second

聊到太遠了,不好意思樓主,小的不應該在你的樓班門弄斧

本帖最后由 Ic3tAe 于 20-1-2014 09:09 AM 编辑

回复

使用道具 举报

发表于 20-1-2014 12:54 PM | 显示全部楼层
Ic3tAe 发表于 16-1-2014 06:35 PM
一個解波器接電腦可以秒殺全部
神马hardware都是浮云

用电脑有好处也有坏处。。
好处
1. 电脑software 可以随意改
2. Graphic 美
坏处
1. 不userfriendly,麻烦
2. USB 传送率+电脑GUI的refresh rate 统统加起来就不够快了
3. 因为传送率的问题,edge/dutycycle/pulse triggering 功能难以实现。



回复

使用道具 举报

发表于 20-1-2014 03:15 PM | 显示全部楼层
keat88 发表于 20-1-2014 12:54 PM
用电脑有好处也有坏处。。
好处
1. 电脑software 可以随意改

software不user friendly就繼續出新的update pack 到user friendly為止,不需user再買一架新系統

usb 3.0 - 5Gbit/s
eSata - 6.0Gbit/s
Thunderbolt - 10Gbit/s
PCIE x16 - 64Gbit/s

遠程有 gigabits ethernets ,高達 100Gbit/s for 100m+

只怕converter 每這麼快而已


電腦還一個好處,就是data storage

只要數據在,什麼edge duty cycle trigger point 都沒問題

回复

使用道具 举报

发表于 20-1-2014 03:39 PM | 显示全部楼层
Ic3tAe 发表于 20-1-2014 03:15 PM
software不user friendly就繼續出新的update pack 到user friendly為止,不需user再買一架新系統

usb  ...

你误解了我userfriendly的意思。。。我是指要测量个waveform还要带上电脑才行,不方便。不practical.

而且数字示波器,只需要个普通dot matrix lcd 就可以显示了,更不需要系统。想美的,来个TFT又如何。


回复

使用道具 举报

发表于 20-1-2014 04:13 PM | 显示全部楼层
谁可以给一粒我,我就参加咯
回复

使用道具 举报

发表于 22-1-2014 09:15 AM | 显示全部楼层
keat88 发表于 20-1-2014 03:39 PM
你误解了我userfriendly的意思。。。我是指要测量个waveform还要带上电脑才行,不方便。不practical.

...

確實在mobility上電腦時不如示波器。
回复

使用道具 举报

楼主
 楼主| 发表于 24-1-2014 05:59 PM | 显示全部楼层
Ic3tAe 发表于 20-1-2014 07:22 AM
不完全認同,hardware 1小時 = software 1000小時應該是80到90年代的觀念,至少一個完全沒graphic優化的O ...

不会啦,大家交流交流,才可以跨领域学习啊

来来来..
hardware 1小時 = software 1000小時應該是80到90年代的觀念
我不是说小时,我是说时钟,clock, 是数字硬体(digital hardware)的驱动源,对数字电子来说是很重要的一环。基本数字电子是由触发器(flip-flop)和组合电路(combinational logic)组成的。数字系统的运作,就是由它的驱动源,时钟,来做信息递送。请看下图:

这个是出处: 请点击

所以,触发器可以用时钟上升沿(rising edge)或下降沿(failing edge)或双边沿(double edge)来触发信息传递,当然,除了时钟,也有其他信号如异步信号(asynchronous)或同步信号(synchronous)来干扰其执行,但时钟是必须存在的。我所打的比例是,在传递相同的信息,在硬体只需一个上升沿的时钟,便可了事,但软体必须通过不同的技术层,来做相同的信息传递,这其中可能已经耗费了一千个时钟。这当然是非实例子,只是一个技术性反映,强调硬体控制过程的直接性而已。

寫到明白點,看看以下兩個比較,一個是pc王,一個是embedded王:
Intel Core i7 Extreme Edition 3960X (Hex core) - 177,730 MIPS at 3.33 GHz - 53.37 MIPS / MHz
Samsung Exynos 5250 (Cortex-A15-like Dual core) - 14,000 MIPS at 2.0 GHz - 7 MIPS / MHz


我知道你要强调微型处理器的利害,事实上也真的很厉害,可是你多少也解释一些,一个秒可以处理如此多instruction的微型处理器,是如何在制作示波器上有何出位之处。例如啊,在运行OS的时候这些资源会被分配多少:示波器的水平刻度可达每格5纳米秒,这些资源如何在如此短的时间内拿到应该要的数据,别忘了你的instruction还要分配给外部储存器等等的。快,是要被时间所衡量的,从以上的资料我只能那个微型处理器说很强,但不应该是很快啊

据我一点点经验,在PIC上的构造,四个时钟沿( 4 clocks)才可以处理一个instruction,如果以这个为解释说明,我会很明白的,交流交流,不要说什么班门弄斧啦





回复

使用道具 举报

楼主
 楼主| 发表于 24-1-2014 06:12 PM | 显示全部楼层
keat88 发表于 20-1-2014 11:54 AM
用电脑有好处也有坏处。。
好处
1. 电脑software 可以随意改

如果是软体运行,我个人认为有一个绝对好处的
就是 decision making, 决定的执行。

如果一些应用,会出现很多条件 (conditions),每一种条件在引领不同的运行结果,如果硬体被设计去处理那么多的条件,除了资源会被广大的耗费外,整个系统也会被复杂化,到时候要抓蟲的时候,你会哭
回复

使用道具 举报

楼主
 楼主| 发表于 24-1-2014 06:38 PM | 显示全部楼层
Ic3tAe 发表于 20-1-2014 02:15 PM
software不user friendly就繼續出新的update pack 到user friendly為止,不需user再買一架新系統

usb  ...

以上的protocol真的很快,可是你知道为什么serial RS232这个protocol还不会被淘汰吗?最快她妈的才11.52Kbps,什么恐龙时代了?可是在工业仪器上还是用到乱,PIC版主还在外面开贴教你怎样安装usb-serial的driver在windows 8。

那是因为serial RS232给你最快“你要”的data,每次传输,只要丢掉最少两个bits的protocol讯号,其余的就是我要的data了。如果你知道你所讲的protocol,到底每次传输有多少不要的垃圾data,你自己心里明白。那是为什么没人用 多少 Gbits/s来衡量你所说的protocol,而是GTransfer/s来衡量。而且rs-232不用driver哦 <--不尽然对的。

其实我想强调的是,在示波器的立场,重要的是你有多快处理你的信息,减少死亡/盲眼的时间,看的是整个系统的throughput。如何在收取信息,处理信息,执行信息上,每个角色做得平衡,而不是看其中一两个component就决定,那不是问题。

什么是edge duty cycle, trigger point,你真还不知道那是什么。

讲到这边我相信你很不爽的啦,挑战你,就用你的概念,做一个有如示波器可以显示波形就好,不用什么测量的,看到波形就好。你做到,经过测试,可以好像市面上最三卡拉牌的示波器的样子,我请你吃一餐大的,不要讲酱也做不到呱,波形罢了,不会难呱。时间不限,做好了,就拍个video,弄个post,解释一下你的concept, 就可以交货。如果你要面对面目测,也可以,我到你那边交个朋友鲁。
本帖最后由 kmy.111014 于 24-1-2014 07:57 PM 编辑

评分

参与人数 1人气 +5 收起 理由
keat88 + 5 我很赞同

查看全部评分

回复

使用道具 举报

楼主
 楼主| 发表于 24-1-2014 06:39 PM | 显示全部楼层
cfdzdq 发表于 20-1-2014 03:13 PM
谁可以给一粒我,我就参加咯

拿钱来,我帮你买一个送你
回复

使用道具 举报

楼主
 楼主| 发表于 24-1-2014 06:49 PM | 显示全部楼层
Ic3tAe 发表于 22-1-2014 08:15 AM
確實在mobility上電腦時不如示波器。

给你一些参考,这个是大国论坛的自制开源示波器,请按这里: 这里

如果版主觉得不妥当,就删此帖吧。谢谢啊
回复

使用道具 举报

发表于 24-1-2014 09:14 PM | 显示全部楼层
kmy.111014 发表于 24-1-2014 06:49 PM
给你一些参考,这个是大国论坛的自制开源示波器,请按这里: 这里

如果版主觉得不妥当,就删此帖吧。谢 ...

这个强,显示都弄到这样美 。。。
还达到 125MHz
回复

使用道具 举报

发表于 25-1-2014 09:08 AM | 显示全部楼层
kmy.111014 发表于 24-1-2014 06:38 PM
以上的protocol真的很快,可是你知道为什么serial RS232这个protocol还不会被淘汰吗?最快她妈的才11.52K ...

如果【RS232给你最快“你要”的data】,那為什麼會有usb/ethernet/sata的protocol存在?難道這些protocol的application不想要最快"他們"要的data?我了解你想要表達其他serial protocol 在 transfer data的時候同時參雜了很多protocol,也因為這一些protocol,使得你需要driver來驅動這些protocol。

RS232基本上不會被淘汰,只要一天 ethernet/usb 這些serial communication 沒有被新的physical communication type取代,一天都會有RS232,可是也不會從新被重用。其實它並非慢,它是全部serial protocol的老祖宗。RS232本身是一個最原始,沒有OSI model 的束博,任由開發者的創意去加快RS232的速度。如你可以把signal 轉換去differential signal,增加其抵抗interference的能力,這就是 RS422 或 RS485。可是當你在努力研發protocol加快RS232的 transfer rate/distance/share medium 的時候,你會發現你的protocol會越來越偏向一些當下standard 的protocol。你會發現你需要impedance matching 來增加receiving SNR,你需要CSMA/CD來減少幾個不同node packet collision 的可能性,之類。

可能我的工作關係顯示器的用處不一樣,我也需要edge duty cycle 和 trigger point,可是我只需要一個夠快的data converter來把當下的analogue signal 轉換去 digital signal,再通過usb cable送去電腦儲存,然後當我需要做analysis的時候再從storage裡拿data,用matlab之類的dsp software 來換算 edge duty cycle,或只是excel也可以做得到。


ps:我只是覺得這樣對我做report會更方便,而且公司的顯波器真的是爛到吐血

ps2:曾幾何時我也是個embedded system designer,可是因時事需求,我屬的公司把全部embedded product 換去 android product。我一度接受不到,可是卻不能不承認。因為中國的 SoC frabication 廠的崛起,如 Allwinner,Rockchip,自製embedded design已經再不是一個便宜的開發。你會發現開發一個touch screen + sd card + usb +  ethernet + PIC32 的價錢其實和去中國買一個tablet差不多。 personalise embedded design已經慢慢偏向於愛好者的玩具,至少在馬來西亞已是如此。

ps3:公司從8個engineer變 2個engineer+15個software developer 本帖最后由 Ic3tAe 于 25-1-2014 09:44 AM 编辑

评分

参与人数 2积分 +100 人气 +5 收起 理由
pic + 100 乐见大家做正面的交流。。
kmy.111014 + 5 不错不错

查看全部评分

回复

使用道具 举报

楼主
 楼主| 发表于 25-1-2014 02:17 PM | 显示全部楼层
Ic3tAe 发表于 25-1-2014 08:08 AM
如果【RS232给你最快“你要”的data】,那為什麼會有usb/ethernet/sata的protocol存在?難道這些protocol ...

如果RS232给你最快“你要”的data,那為什麼會有usb/ethernet/sata的protocol存在?
那是要看你在什么样的位子。给个例子:
如果你是digital system的开发者,你的系统已经完全好了,所有的寄存器也在等着被启动,因为硬体通常是被支配者,支配者通常是微型处理器,但是在弄着微型处理器的家伙还没准备好哦,整个系统还没被整合起来,可是你只需要一些address 和 data value就可以开始检查我的系统,所以你要借电脑的功力一下,为了跟电脑做沟通,你认为我去开发RS-232比较快还是我去开发USB比较快?

而且啊,我也可以问,根据你上面的回复,我左看右看,sata比较快啊,为什么不能取代usb3.0?
我想强调的是,比传输的速度是多么的不实际啊,因为重要的是你在什么样的位子和你在做着什么。这才是为什么RS-232不会被取代的原因。

可是我只需要一個夠快的data converter來把當下的analogue signal 轉換去 digital signal,再通過usb cable送去電腦儲存,然後當我需要做analysis的時候再從storage裡拿data,用matlab之類的dsp software 來換算 edge duty cycle,或只是excel也可以做得到
我尝试了解你的概念,我想这应该是个可以work的成品了吧?我好奇想问一些,我想学一些东西,请赐教
第一, 你用ADC把模拟信号转成数字信号,然后用usb cable传去电脑。这中间好像少了什么,拿到数字信号后?如何传?中间是不是有什么medium?
第二,你把信息传到电脑,放进storage。请问是什么样的storage? DDR3, hardisk, cache?
第三,用matlab之类的换算edge duty cycle,请问matlab可以如何去storage拿?<--这个我真的没概念,不熟matlab的pasal,你是不是把信号存成一种file的格式?
第四,如果是file的格式,那你是拿取多少数字信息呢?算MB呢?还是算GB?还是不停的flow进来?
第五,照你那么说,看起来拿信息和显示信息的方式不是实时(real-time)的?
我想到再问你蛤..不错不错,谢谢你的分享。

其实我也想介绍,美国国家仪器公司也有电脑式的示波器,用的是PCIE,看样子非常强悍,只不过是叫digitizer而非oscilloscope,固中原因不明。


曾幾何時我也是個embedded system designer,可是因時事需求,我屬的公司把全部embedded product 換去 android product
如果你的公司的end user是大众consumer,这一点也不奇怪啊,软体依然是主角,一直以来都是,这是卖点。
身为embedded system engineer,要了解的是整个系统的throughput, 从signal进到出,到底有多快,理论上要算得到,而不是单单看那个DDR3 跑 400MHz就认为那个系统的信息是跑 800Mbit/s.
当然我不认为你是这种玩lego级的工程师。


评分

参与人数 2积分 +100 人气 +5 收起 理由
Ic3tAe + 5 谢谢分享
pic + 100 乐见大家做正面的交流。。

查看全部评分

回复

使用道具 举报

发表于 26-1-2014 12:13 AM | 显示全部楼层
kmy.111014 发表于 25-1-2014 02:17 PM
如果RS232给你最快“你要”的data,那為什麼會有usb/ethernet/sata的protocol存在?
那是要 ...
sata比较快啊,为什么不能取代usb3.0?

個人猜測
1)protocol,usb專攻peripheral device,已經準備了protocol給 hid/cdc,比起sata只專攻hdd而且沒有protocol
2)popular,USB太受歡迎,省略解釋。

樓主為什麼要逼小弟。。。
小弟我只是起初只是想騙分走人,怎麼知道拖拖拉拉騙了5分,還被PIC版主加了一百分

不敢賜教,小弟還是菜鳥一個,旨在亂想一通

第一, 你用ADC把模拟信号转成数字信号,然后用usb cable传去电脑。这中间好像少了什么,拿到数字信号后?如何传?中间是不是有什么medium?

初步的想法是 8 bits ADC 配合一個MCU,MCU 以timer interrupt 的方式每10ns 讀取 ADC(早上有算過, PIC18沒有一個可以做到。。。),這樣sampling rate 就是 100MHz,或 10*10MHz。MCU方面就在interrupt完了後不做任何processing(已經沒什麼時間可以做了),把原有的 8 bit raw data push 進 usb buffer。最簡單連在電腦都不用install driver就是把MCU的USB protocol調去 HID,這樣的話你可以開著notepad/excel,raw data 就直接在notepad顯示出來了

後來覺得,MCU好像沒什麼必要,看起來應該可以改良去 ADC parallel -> Paralle to RS232 -> PC 的方式,可是這會遇到RS232transfer rate的瓶頸,畢竟100MHz的raw data需要至少 800Mbps,姑且放在一旁不理

第二,你把信息传到电脑,放进storage。请问是什么样的storage? DDR3, hardisk, cache?

普通的text file, 如 [32][33][34][35][36][35][34][33][32]就是一個triangle wave

第三,用matlab之类的换算edge duty cycle,请问matlab可以如何去storage拿?<--这个我真的没概念,不熟matlab的pasal,你是不是把信号存成一种file的格式?

matlab 本身可以load很多file,有自家的mat file,基本上和 excel 的xls file差別不大,也是load出一大堆的數字。matlab只是一個想法,畢竟matlab真的是太太太貴了

第四,如果是file的格式,那你是拿取多少数字信息呢?算MB呢?还是算GB?还是不停的flow进来?
第五,照你那么说,看起来拿信息和显示信息的方式不是实时(real-time)的?

我本身的應用是不需要real-time的,我也不還沒了解在什麼時候需要到real-time(難道你要一直盯著screen,然後看到一個pulse你就按一個button?)
我的話我會design把raw data save 進一個file。完結後才開file做 data conversion,data processing和displaying。

當然你也可以讓data 不停的flow 進來,不過就需要把程序寫的完美一些了

只不过是叫digitizer而非oscilloscope,固中原因不明。

因為oscilloscope 包含了 signal processing,而它的signal processing是在software裡做,所以不怎麼能放 oscilloscope這個名字

如果你的公司的end user是大众consumer,这一点也不奇怪啊,软体依然是主角,一直以来都是,这是卖点。

接受不到被software developer騎著

当然我不认为你是这种玩lego级的工程师。

我確實已經升級(降級?)去做lego工程師了,至少現在99%工作都是如此 本帖最后由 Ic3tAe 于 26-1-2014 12:54 AM 编辑

回复

使用道具 举报

楼主
 楼主| 发表于 26-1-2014 01:12 PM | 显示全部楼层
Ic3tAe 发表于 25-1-2014 11:13 PM
個人猜測
1)protocol,usb專攻peripheral device,已經準備了protocol給 hid/cdc,比起sata只專攻 ...

分享一下,就有一百分拿,不是很好吗?好过去jizha灌啊~
做到我还请你吃咧,几好~

谢谢pic版主的一百分

不是我逼你哦,只是没人鸟我这个贴,才找你开刀
初步的想法是 8 bits ADC 配合一個MCU,MCU 以timer interrupt 的方式每10ns 讀取 ADC(早上有算過, PIC18沒有一個可以做到。。。),這樣sampling rate 就是 100MHz,或 10*10MHz。
我觉得你对ADC的诠释有点奇怪,sampling rate不是ADC那边的能力来咩,怎么我看起来你要表达的是:"你的MCU能读都快,你就有多快的sampling rate?"解释下,谢谢你啊。
我也好奇你怎样算出没有一个PIC18能做到timer interrupt在10ns。来吧,分享吧,让世界美好一点

100Msa/s的外部ADC转换器,便宜大块:这里

matlab 本身可以load很多file,有自家的mat file,基本上和 excel 的xls file差別不大,也是load出一大堆的數字。matlab只是一個想法,畢竟matlab真的是太太太貴了
如果只是单单要读file来显示,很多软体都办的到,用visual studio express 2012吧,里面的 C# , C++, visual basic都轻易办得到吧,还不用钱呢。
如果真的给你做到从ADC的数字信息100%传到电脑,那你每秒就有100个100万或一亿的8 bits信息flow进你的电脑text file,dat file或excel file。你确定你的file没有任何限制来收取和储存资料吗?

我本身的應用是不需要real-time的,我也不還沒了解在什麼時候需要到real-time(難道你要一直盯著screen,然後看到一個pulse你就按一個button?)
Real-time(实时)的意义是在当你在测量一个讯号,当那个讯号传入你的系统到显示出来,要几乎是即时性的,但经过你的电子网路,做处理,做显示,当然有点delay,不过这一丁点的delay是很少很少的,目的是要让你看见你测量的当儿和你看到的讯号是一样的。

我確實已經升級(降級?)去做lego工程師了,至少現在99%工作都是如此
那就是讲很有空啦?用你的概念做出来啦,一直讲一直讲没什么意义,不要学那些90%那些所谓的“design engineer”,讲罢了,做就无能为力。


回复

使用道具 举报

发表于 26-1-2014 08:09 PM | 显示全部楼层
kmy.111014 发表于 26-1-2014 01:12 PM
分享一下,就有一百分拿,不是很好吗?好过去jizha灌啊~
做到我还请你吃咧,几好~

一点愚见。不要见怪。

我也好奇你怎样算出没有一个PIC18能做到timer interrupt在10ns
这个不难解。PIC18最快的是64Mhz, 也就是16MIPS. 一个instruction也要62.5ns
不可能做到。

如果真的给你做到从ADC的数字信息100%传到电脑,那你每秒就有100个100万或一亿的8 bits信息flow进你的电脑text file,dat file或excel file。你确定你的file没有任何限制来收取和储存资料吗?
用ntfs就没有问题。
wikipedia:
maximum NTFS file size is 16 TB - 64kb。 一个sample 8 bits, = 1 byte.你可以有16Tera - 64k sample in a file.
windows 8 以上可以到256 TiB – 64 KiB
Real-time(实时)的意义是在当你在测量一个讯号,当那个讯号传入你的系统到显示出来,要几乎是即时性的,但经过你的电子网路,做处理,做显示,当然有点delay,不过这一丁点的delay是很少很少的,目的是要让你看见你测量的当儿和你看到的讯号是一样的。
你的是real time application,他的不需要real time. 做法不一样。没有可比性。



评分

参与人数 1人气 +5 收起 理由
keat88 + 5 我很赞同

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 | 登入

本版积分规则

 WeChat
 CARI App
Get it FREE Google play
 Instagram
cari_malaysia
FOLLOW
- 版权所有 © 1996-2019 Cari Internet Sdn Bhd 佳礼网络有限公司 (483575-W) -
Private Cloud provided by IPSERVERONE
0.662163s Gzip On
快速回复 返回顶部 返回列表