Re: [問題] Linux serial port 回應速度最小化

看板LinuxDev作者 (..)時間12年前 (2012/12/21 13:04), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/2 (看更多)
把user space要做的事寫在kernel裡 在uart controller ISR裡檢查PC來的data再做相應處理 uart controller拉interrupt時cpu interrupt沒有被disable cpu速度夠快的話,應該可以在1ms內回應 但不知道你的應用架構允不允許這麼做 ※ 引述《godspeedlee (妳,我可以)》之銘言: : 問題: : 我的實驗是這樣的 : 1. PC serial port --> 'A' --> Linux device serial port : 2. PC serial port <-- 'A' <-- Linux device serial port : 1. PC 先送 'A' 給 Linux device,2. Linux device 收到 : 'A' 後馬上回傳給 PC : 就是不斷重複 1-2 的步驟而已,小弟希望 Linux device : 從收到 'A' 到回傳 'A' 給 PC 這之間的時間間隔越小越好, : 也就是下面的 delay 越小越好 : ___[PC TX FRAME]___ : delay ___[LINUX DEVICE TX FRAME]___ : 目前用了以下方法也只能減少到 3.8ms 左右(用示波器觀察), : 希望能壓到 1ms <=,不知道各位先進有沒有什麼密技?現在 : 小弟只剩進 kernel mode 這一招了(P.S process 已經以 : root 權限執行) : (1) nice -20,效果不大 : (2) sched_setscheduler() 代入最高 priority,並且設定為 : SCHED_FIFO,這大概是效果最好的了,因為訊號已經不會抖動 : 感謝各位!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.150.73

12/22 00:34, , 1F
怕的是UART 的中斷不保證是最先被優先處理的,中斷優先
12/22 00:34, 1F

12/22 00:35, , 2F
權的問題
12/22 00:35, 2F

12/22 10:10, , 3F
我有找到一個irqtune,不過只能給x86用...0rz
12/22 10:10, 3F
文章代碼(AID): #1Gq-tquE (LinuxDev)
文章代碼(AID): #1Gq-tquE (LinuxDev)