- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
PA数据链路解密之PCI-E总线
摘要:作为新一代的通用总线接口标准,PCI-Express(PCI-E)高带宽、低延迟、可扩展、支持热插拔等优点,使其全面取代了PCI、AGP等早期总线。ZLG致远电子功率分析仪的内部多个高速数据总线中,也包含了PCI-E。下面我们来一起认识这一接口。
1.1 架构
图 1 框架图
1、 Root Complex(RC)
PCI-E根控制器,集成在主处理器系统中,管理处理器与PCIE设备的连接。
2、 Switch
PCI-E交换设备,用于PCI-E总线的扩展。
3、 Bridge
PCI-E桥设备,用于PCI-E与其它总线的桥接。例如:PCIE to PCI桥。
4、 Endpoint(EP)
PCI-E终端设备,例如网卡等通讯板卡或其它数据采集板卡。
实际应用中,我们关注较多的则是此类设备。
1.2 通讯
1、 地址映射
EP设备可通过配置自身PCI-E控制器,将设备内部一段内存地址映射到CPU保留地址空间。CPU通过访问该映射后的地址,便可透明地读写设备,而不必关心物理传输细节。
2、 直接内存访问
EP设备具有总线主控能力,即能够主动访问CPU地址空间。通过修改PCI-E控制器的地址映射,配合DMA控制器,可以实现无需CPU干预的数据传输。
3、 MSI(Message Signaled Interrupt)中断
EP设备可以将某个特定消息写到特定地址,触发一个CPU中断。
1.3 枚举
1、 配置空间
图 2 1 配置空间
如图2所示,配置空间是由EP设备定义,用于描述EP设备资源及特性的一组寄存器。在枚举过程中,RC会扫描PCI-E总线上的所有设备。通过访问该设备的配置空间,可以获得加载EP设备驱动所需的DeviceID、VendorID等信息。
2、 BAR(Base Address Registers)
EP设备可向RC请求将自身的1~6段设备地址映射到CPU的地址空间,这1~6个CPU地址由RC软件在枚举过程中分配并回写到配置空间中的BAR寄存器。
3、 枚举流程
图 3 枚举流程
如图3所示,CPU以一定顺序扫描系统内的PCI-E总线,为发现的设备分配总线号、设备号,构建设备树,分配地址空间并回写BAR。操作系统启动后,将根据DeviceID、VendorID找到匹配的驱动程序并加载运行。
上一篇:家电厂商纷纷看好机器人,这是大数据在发酵吗?
下一篇:Enea、Nokia与ARM携手合作打造更快速的虚拟化网络互联网通信协议
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠椤斿浜滄い鎾跺仦閸嬨儳鈧娲滈幊鎾诲煡婢跺ň鏋庨柟閭﹀枛缁插潡姊婚崒娆戝妽闁诡喖鐖煎畷鎰板即閻忚缍婇幃婊堟寠婢跺矈鍞甸梺璇插嚱缂嶅棝宕伴弽顐や笉闁哄被鍎查悡娆徝归悡搴f憼婵炴嚪鍥ㄧ厵妞ゆ棁宕电粣鏃€鎱ㄦ繝鍛仩闁告牗鐗犲鎾偄閸濄儱绲垮┑锛勫亼閸婃垿宕硅ぐ鎺撴櫇妞ゅ繐鐗勯埀顑跨閳诲酣骞樺畷鍥舵Ч婵$偑鍊栭悧妤冨枈瀹ュ鍊垫い鎺嗗亾闁宠鍨块幃娆撳矗婢舵ɑ锛侀梻浣规偠閸斿酣宕伴弽褜鍤曞┑鐘崇閺呮悂鏌ㄩ悤鍌涘 | More...
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠椤斿浜滄い鎾跺仦閸嬨儳鈧娲滈幊鎾诲煡婢跺ň鏋庨柟閭﹀枛缁插潡姊婚崒娆戝妽闁诡喖鐖煎畷鎰板即閻忚缍婇幃婊堟寠婢跺矈鍞甸梺璇插嚱缂嶅棝宕伴弽顐や笉闁哄被鍎查悡娆徝归悡搴f憼婵炴嚪鍥ㄧ厵妞ゆ棁宕电粣鏃€鎱ㄦ繝鍛仩闁告牗鐗犲鎾偄閸濄儱绲垮┑锛勫亼閸婃垿宕硅ぐ鎺撴櫇妞ゅ繐鐗勯埀顑跨閳诲酣骞樺畷鍥舵Ч婵$偑鍊栭幐楣冨窗鎼淬劍鍋熷ù鐓庣摠閳锋垿鏌涘☉姗堟敾閻庡灚鐟╅弻宥堫檨闁告挾鍠庨锝嗙節濮橆厽娅㈤梺璺ㄥ櫐閹凤拷
闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鍐蹭罕闂佸搫娲ㄦ慨椋庣矆婵犲倵鏀介柣妯哄级閹兼劙鏌涚仦璇插闁哄本娲熷畷鐓庘攽閹邦厜褔姊虹粙娆惧剭闁告柨鐭傚﹢渚€姊洪幐搴g畵闁瑰啿閰e鎶芥偄閸忚偐鍘介梺鍝勫€圭€笛囧吹閸ヮ剚鐓欐い鏃€顑欏ḿ鎰版煙瀹勭増鍤囬柟顔惧厴楠炲秹顢氶崨顔х偛鈹戦敍鍕杭闁稿﹥鐗犻獮鎰節濮橆剛鐣洪梺绋挎湰濮樸劑寮抽敃鍌涚叄闊洦鍑瑰ḿ鎰版煕韫囨梻鐭掗柡灞剧☉楗即鍩€椤掑倻鐭嗗〒姘e亾鐎殿噮鍋婇獮搴ㄦ嚍閵壯冨箺闂備胶绮敋鐎殿喖鐖奸獮鏍箛椤掑鍞甸悷婊冪灱閸掓帒鈻庨幘铏К闂侀潧绻堥崐鏍疾閹间焦鐓ラ柣鏇炲€圭€氾拷
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠椤斿浜滄い鎾跺仦閸嬨儳鈧娲滈幊鎾诲煡婢跺ň鏋庨柟閭﹀枛缁插潡姊婚崒娆戝妽闁诡喖鐖煎畷鎰板即閻忚缍婇幃婊堟寠婢跺矈鍞甸梺璇插嚱缂嶅棝宕伴弽顐や笉闁哄被鍎查悡娆徝归悡搴f憼婵炴嚪鍥ㄧ厵妞ゆ棁宕电粣鏃€鎱ㄦ繝鍛仩闁告牗鐗犲鎾偄閸濄儱绲垮┑锛勫亼閸婃垿宕硅ぐ鎺撴櫇妞ゅ繐鐗勯埀顑跨閳诲酣骞樺畷鍥舵Ч婵$偑鍊栫敮鎺楀磹閸噮鐎舵い鏂跨毞閺€浠嬪箳閹惰棄纾归柡鍥╁Л閸嬫挸顫濋鈧Σ濠氭懚閻愮儤鐓ラ柣鏇炲€圭€氾拷
闂傚倸鍊峰ù鍥敋瑜忛幑銏ゅ箛椤旇棄搴婇梺褰掑亰閸犳帡宕戦幘鎰佹僵妞ゆ劑鍨圭粊顕€姊洪棃娑欘棞闁稿﹤顭烽獮鎴﹀礋椤掑倻鎳濆銈嗙墬绾板秴鈻嶆繝鍥ㄢ拻濞撴埃鍋撴繛浣冲洦鏅煫鍥ㄧ☉閻掑灚銇勯幒鎴濐仼闁藉啰鍠栭弻鏇㈠醇濠垫劖效闂佺ǹ顑冮崝宥夊Φ閸曨垰鍐€闁靛⿵濡囧▓銈嗙節閳封偓閸曨剛顦伴梺鍝勭焿缂嶄線鐛Ο鍏煎枂闁告洦鍘归埀顒€锕娲偡閺夋寧些濡炪倖鍨甸ˇ鐢稿Υ娴e壊娼ㄩ柍褜鍓熼獮鍐ㄢ堪閸繂鑰垮┑顔筋殔濡寮ぐ鎺撯拻濞达綀妫勯崥褰掓煕閻樿尙肖婵炲棎鍨芥俊鑸靛緞婵犲嫷鍞甸梻浣芥硶閸o箓骞忛敓锟�