DSP Link驅(qū)動(dòng)是CE中的一個(gè)模塊,負(fù)責(zé)ARM與DSP的通信,整個(gè)通信機(jī)制建立在RPC(Remote Procedure Call Protocol)的基礎(chǔ)上。一個(gè)RPC是在一臺(tái)處理器上產(chǎn)生但運(yùn)行在另一個(gè)不同的處理器上的命令。

如上圖,在RPC技術(shù)中,產(chǎn)生命令的處理器叫客戶端,而執(zhí)行命令的處理器叫服務(wù)器??蛻舳送ㄟ^物理通信媒介發(fā)送命令和它的參數(shù)到服務(wù)器,可能也會(huì)用到一些通信協(xié)議或棧。一旦服務(wù)器完成了命令的執(zhí)行,它就通過物理媒介(IPC)給客戶端回送一個(gè)消息,并提供過程的返回值。對(duì)于不同的計(jì)算機(jī),這是一個(gè)典型的IP網(wǎng)絡(luò)。而對(duì)于嵌入式處理器則有更多的選擇,比如PCI,串并口,或共享內(nèi)存。建立在Davinci技術(shù)基礎(chǔ)上的TMS320DM644x處理器都是使用了共享內(nèi)存作為IPC層,同時(shí)還使用到了一個(gè)通信協(xié)議叫DSP線路(DSP Link)。
RPC有同步與異步通信之分。從客戶端發(fā)出一個(gè)RPC請(qǐng)求到服務(wù)器(Time.a)到它接收到來自服務(wù)器的完成消息(Time.d)是有大量的時(shí)間間隔的。發(fā)出一個(gè)RPC請(qǐng)求后,如果客戶端應(yīng)用程序在沒有收到RPC完成消息前一直等待,這種就是同步操作。如果客戶應(yīng)用程序不是等待而是繼續(xù)執(zhí)行其它函數(shù),這種就叫異步操作。異步調(diào)用降低了等待時(shí)間因?yàn)樗鼈冊(cè)试S客戶端同服務(wù)器并發(fā)的執(zhí)行操作。異步調(diào)用的缺點(diǎn)就是它們對(duì)于應(yīng)用程序的編寫者來說比較復(fù)雜,因?yàn)槌绦騿T必須要管理系統(tǒng)的時(shí)間安排。CE架構(gòu)只實(shí)現(xiàn)了同步過程調(diào)用。因此,此架構(gòu)已經(jīng)將系統(tǒng)時(shí)間隱式安排了。
|