问下在linux内核态的流水灯问题
问下在内核态怎样实现流水灯驱动,不用应用层控制,直接用insmod 插入后就流水灯就OK了还有我像延迟到纳秒级别产生方波怎样实现,谢谢 纳秒级别只能硬件能做到 回复 1# jizhang1976
1ns是10的 -9次方吧。也就是 1G 分之一 秒, 大概。
这和cpu的频率在一个数量级别,软件很难弄出来。 我的意思是纳秒级别,是要从83ns到1000纳秒都可以,在内核态的gpio驱动能达到吗?我的cpu是100MHZ的 还有像网卡传送数据不也是有1000M的吗?那网卡的驱动能做到1纳秒吧,我这个只要100纳秒的应该不是问题吧? 回复 5# jizhang1976
网卡的震荡器 是网卡自带的, 不是 cpu 上的。
如果1000ns, 直接用udelay( )就可以了。
cpu是 100m,100m是 10的8次方吧。那cpu的一个时钟周期就是10ns.
用自定义的指令 (比如循环啥的)来延时, 用gpio搞 , 设置 gpio register 本身 也要延时吧 ,可能可以 搞成几百个 ns的吧 回复 5# jizhang1976
网卡的输出数据方波都是芯片输出的,不是驱动在那里翻转gpio完成的 那我要是用cpu自带的pwm来驱动呢?是不是就OK了 回复 8# jizhang1976
我用的 pxa270,pwm只有部分pin 有这个功能, 最高频率13M.
根据你使用的cpu情况不同。 我现在用的是at91sam9263有4个gpio口复用pwm,是不是把pwm驱动起来,在应用层调用就OK了,pwm的时钟频率是复用主芯片时钟(100MHz),我现在的设备要用3个pwm产生波形就行,是不是这样做OK了
页:
[1]