完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > 時序
這里所說的時序其實就是指時序圖,又名序列圖、循序圖、順序圖,是一種UML交互圖。它通過描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。
這里所說的時序其實就是指時序圖(Sequence Diagram),又名序列圖、循序圖、順序圖,是一種UML交互圖。它通過描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。它可以表示用例的行為順序,當(dāng)執(zhí)行一個用例行為時,其中的每條消息對應(yīng)一個類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。組成元素
時序圖中包括如下元素:角色,對象,生命線,控制焦點和消息。1、角色(Actor)系統(tǒng)角色,可以是人或者其他系統(tǒng),子系統(tǒng)。2、對象(Object)對象代表時序圖中的對象在交互中所扮演的角色,位于時序圖頂部和對象代表類角色。對象一般包含以下三種命名方式:第一種方式包含對象名和類名。第二種方式只顯示類名不顯示對象名,即為一個匿名對象。第三種方式只顯示對象名不顯示類名。3、生命線(Lifeline)生命線代表時序圖中的對象在一段時期內(nèi)的存在。時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線,對象間 的消息存在于兩條虛線間。4、控制焦點(Activation)控制焦點代表時序圖中的對象執(zhí)行一項操作的時期,在時序圖中每條生命線上的窄的矩形代表活動期。它可以被理解成C語言語義中一對花括號“{}”中的內(nèi)容。5、消息(Message)消息是定義交互和協(xié)作中交換信息的類,用于對實體間的通信內(nèi)容建模,信息用于在實體間傳遞信息。允許實體請求其他的服務(wù),類角色通過發(fā)送和接受信息進(jìn)行通信。
這里所說的時序其實就是指時序圖(Sequence Diagram),又名序列圖、循序圖、順序圖,是一種UML交互圖。它通過描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。它可以表示用例的行為順序,當(dāng)執(zhí)行一個用例行為時,其中的每條消息對應(yīng)一個類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。組成元素
時序圖中包括如下元素:角色,對象,生命線,控制焦點和消息。1、角色(Actor)系統(tǒng)角色,可以是人或者其他系統(tǒng),子系統(tǒng)。2、對象(Object)對象代表時序圖中的對象在交互中所扮演的角色,位于時序圖頂部和對象代表類角色。對象一般包含以下三種命名方式:第一種方式包含對象名和類名。第二種方式只顯示類名不顯示對象名,即為一個匿名對象。第三種方式只顯示對象名不顯示類名。3、生命線(Lifeline)生命線代表時序圖中的對象在一段時期內(nèi)的存在。時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線,對象間 的消息存在于兩條虛線間。4、控制焦點(Activation)控制焦點代表時序圖中的對象執(zhí)行一項操作的時期,在時序圖中每條生命線上的窄的矩形代表活動期。它可以被理解成C語言語義中一對花括號“{}”中的內(nèi)容。5、消息(Message)消息是定義交互和協(xié)作中交換信息的類,用于對實體間的通信內(nèi)容建模,信息用于在實體間傳遞信息。允許實體請求其他的服務(wù),類角色通過發(fā)送和接受信息進(jìn)行通信。
結(jié)構(gòu)
時序圖描述對象是如何交互的,并且將重點放在消息序列上。也就是說,描述消息是如何在對象間發(fā)送和接收的。時序圖有兩個坐標(biāo)軸:縱坐標(biāo)軸顯示時間,橫坐標(biāo)軸顯示對象。每一個對象的表示方法是:矩形框中寫有對象和 / 或類名,且名字下面有下劃線;同時有一條縱向的虛線表示對象在序列中的執(zhí)行情況 ( 即發(fā)送和接收的消息對象的活動 ) , 這條虛線稱為對象的生命線。對象間的通信用對象的生命線之間的水平的消息線來表示,消息線的箭頭說明消息的類型,如同步,異步或簡單 。 瀏覽時序圖的方法是,從上到下查看對象間交換的消息,分析那些隨著時間的流逝而發(fā)生的消息交換。時序圖中的消息可以是信號、操作調(diào)用或類似于 C++ 中的 RPC ( Remote Procedure Call,遠(yuǎn)程過程調(diào)用)或 Java 中的 RMI ( Remote Method Invocation , 遠(yuǎn)程方法調(diào)用)。當(dāng)對象接收到一個消息時,該對象中的一項活動就會啟動,我們把這一過程稱做激活 ( Activation )。 激活會顯示控制焦點,表明對象在某一個時間點開始執(zhí)行。一個被激活的對象或者是執(zhí)行它自身的代碼,或者是等待另一個對象的返回(該被激活的對象已經(jīng)向另一個對象發(fā)送了消息)。在圖形上,激活被繪制為對象生命線上的一個瘦高矩形。消息可以用消息名及參數(shù)來標(biāo)識。消息還可帶有條件表達(dá)式,表示分支或決定是否發(fā)送消息。如果用于表示分支,則每個分支是相互排斥的,即在某一時刻僅可發(fā)送分支中的一個消息。消息也可以有順序號,但是在時序圖中,消息的順序號很少使用,因為時序圖已經(jīng)將消息的順序顯式地表示出來了。一個對象可以通過發(fā)送消息來創(chuàng)建另一個對象,當(dāng)一個對象被刪除或自我刪除時,該對象用 “X”標(biāo)識。
創(chuàng)建步驟
1、確定交互過程的上下文;2、識別參與過程的交互對象;3、為每個對象設(shè)置生命線;4、從初始消息開始,依次畫出隨后消息;5、考慮消息的嵌套,標(biāo)示消息發(fā)生時的時間點,則采用FOC(focus of control);6、說明時間約束的地點。
如何看懂時序圖?
操作時序永遠(yuǎn)使用是任何一片IC芯片的最主要的內(nèi)容。一個芯片的所有使用細(xì)節(jié)都會在它的官方器件手冊上包含。所以使用一個器件事情,要充分做好的第一件事就是要把它的器件手冊上有用的內(nèi)容提取,掌握。介于中國目前的芯片設(shè)計能力有限,所以大部分的器件都是外國幾個IC巨頭比如TI、AT、MAXIM這些公司生產(chǎn)的,器件資料自然也是英文的多,所以,英文的基礎(chǔ)要在閱讀這些數(shù)據(jù)手冊時得到提高哦。即便有中文翻譯版本,還是建議看英文原版,看不懂時不妨再參考中文版,這樣比較利于提高。
我們首先來看1602的引腳定義,1602的引腳是很整齊的SIP單列直插封裝,所以器件手冊只給出了引腳的功能數(shù)據(jù)表:
我們只需要關(guān)注以下幾個管腳:
3腳:VL,液晶顯示偏壓信號,用于調(diào)整LCD1602的顯示對比度,一般會外接電位器用以調(diào)整偏壓信號,注意此腳電壓為0時可以得到最強(qiáng)的對比度。
4腳:RS,數(shù)據(jù)/命令選擇端,當(dāng)此腳為高電平時,可以對1602進(jìn)行數(shù)據(jù)字節(jié)的傳輸操作,而此腳為低電平時,則是進(jìn)行命令字節(jié)的傳輸操作。命令字節(jié),即是用來對LCD1602的一些工作方式作設(shè)置的字節(jié);數(shù)據(jù)字節(jié),即使用以在1602上顯示的字節(jié)。值得一提的是,LCD1602的數(shù)據(jù)是8位的。
5腳:R/W,讀寫選擇端。當(dāng)此腳為高電平可對LCD1602進(jìn)行讀數(shù)據(jù)操作,反之進(jìn)行寫數(shù)據(jù)操作。筆者認(rèn)為,此腳其實用處不大,直接接地永久置為低電平也不會影響其正常工作。但是尚未經(jīng)過復(fù)雜系統(tǒng)驗證,保留此意見。
6腳:E,使能信號,其實是LCD1602的數(shù)據(jù)控制時鐘信號,利用該信號的上升沿實現(xiàn)對LCD1602的數(shù)據(jù)傳輸。
7~14腳:8位并行數(shù)據(jù)口,使得對LCD1602的數(shù)據(jù)讀寫大為方便。
現(xiàn)在來看LCD1602的操作時序:
在此,我們可以先不讀出它的數(shù)據(jù)的狀態(tài)或者數(shù)據(jù)本身。所以只需要看兩個寫時序:
?、?當(dāng)我們要寫指令字,設(shè)置LCD1602的工作方式時:需要把RS置為低電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0~D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。
② 當(dāng)我們要寫入數(shù)據(jù)字,在1602上實現(xiàn)顯示時:需要把RS置為高電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0~D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。
發(fā)現(xiàn)了么,寫指令和寫數(shù)據(jù),差別僅僅在于RS的電平不一樣而已。以下是LCD1602的時序圖:
大家要慢慢學(xué)會看時序圖,要知道操作一個器件的精華便蘊(yùn)藏在其中,看懂看準(zhǔn)了時序,你操控這個芯片就是非常容易的事了。1602的時序是我見過的一個最簡單的時序:
1、注意時間軸,如果沒有標(biāo)明(其實大部分也都是不標(biāo)明的),那么從左往右的方向為時間正向軸,即時間在增長。
2、上圖框出并注明了看懂此圖的一些常識:
?。?)。時序圖最左邊一般是某一根引腳的標(biāo)識,表示此行圖線體現(xiàn)該引腳的變化,上圖分別標(biāo)明了RS、R/W、E、DB0~DB7四類引腳的時序變化。
?。?)。有線交叉狀的部分,表示電平在變化,如上所標(biāo)注。
?。?)。應(yīng)該比較容易理解,如上圖右上角所示,兩條平行線分別對應(yīng)高低電平,也正好吻合(2)中電平變化的說法。
(4)。上圖下,密封的菱形部分,注意要密封,表示數(shù)據(jù)有效,Valid Data這個詞也顯示了這點。
3、需要十分嚴(yán)重注意的是,時序圖里各個引腳的電平變化,基于的時間軸是一致的。一定要嚴(yán)格按照時間軸的增長方向來精確地觀察時序圖。要讓器件嚴(yán)格的遵守時序圖的變化。在類似于18B20這樣的單總線器件對此要求尤為嚴(yán)格。
4、以上幾點,并不是LCD1602的時序圖所特有的,絕大部分的時序圖都遵循著這樣的一般規(guī)則,所以大家要慢慢的習(xí)慣于這樣的規(guī)則。
也許你還注意到了上面有許多關(guān)于時間的標(biāo)注,這也是個十分重要的信息,這些時間的標(biāo)注表明了某些狀態(tài)所要維持的最短或最長時間。因為器件的工作速度也是有限的,一般都跟不上主控芯片的速度,所以它們直接之間要有時序配合。話說現(xiàn)在各種處理器的主頻也是瘋狂增長,日后搞不好出現(xiàn)個雙核單片機(jī)也不一定就是夢話。下面是時序參數(shù)表:
大家要懂得估計主控芯片的指令時間,可以在官方數(shù)據(jù)手冊上查到MCU的一些級別參數(shù)。比如我們現(xiàn)在用AVR M16做為主控芯片,外部12MHz晶振,指令周期就是一個時鐘周期為(2/12MHz)s,所以至少確定了它執(zhí)行一條指令的時間是us級別的。我們看到,以上給的時間參數(shù)全部是ns級別的,所以即便我們在程序里不加延時程序,也應(yīng)該可以很好的配合LCD1602的時序要求了。怎么看這個表呢?很簡單,我們在時序圖里可以找到TR1,對應(yīng)時序參數(shù)表,可以查到這個是E上升沿/下降沿時間,最大值為25ns,表示E引腳上的電平變化,必須在最大為25ns之內(nèi)的時間完成。大家看是不是這個意思?
現(xiàn)在我來解讀我對這個時序圖的理解:
當(dāng)要寫命令字節(jié)的時候,時間由左往右,RS變?yōu)榈碗娖?,R/W變?yōu)榈碗娖?,注意看是RS的狀態(tài)先變化完成。然后這時,DB0~DB7上數(shù)據(jù)進(jìn)入有效階段,接著E引腳有一個整脈沖的跳變,接著要維持時間最小值為tpw=400ns的E脈沖寬度。然后E引腳負(fù)跳變,RS電平變化,R/W電平變化。這樣便是一個完整的LCD1602寫命令的時序。
詳解配置控制器局域網(wǎng)絡(luò)(CAN)位時序?qū)崿F(xiàn)系統(tǒng)性能優(yōu)化
隔離有利于提高魯棒性,但同時也會增加發(fā)射和接收兩個方向的傳播延遲。必須使該延遲增加一倍,以支持兩個節(jié)點參與仲裁。如果系統(tǒng)允許的傳播延遲是固定的,在增加隔...
2024-11-15 標(biāo)簽:CAN時序局域網(wǎng)絡(luò) 1152 0
優(yōu)化FPGA(現(xiàn)場可編程門陣列)設(shè)計的性能是一個復(fù)雜而多維的任務(wù),涉及多個方面和步驟。以下是一些關(guān)鍵的優(yōu)化策略: 一、明確性能指標(biāo) 確定需求 :首先,需...
DDR4(Double Data Rate 4)時序參數(shù)是描述DDR4內(nèi)存模塊在執(zhí)行讀寫操作時所需時間的一組關(guān)鍵參數(shù),它們直接影響到內(nèi)存的性能和穩(wěn)定性。...
數(shù)字芯片設(shè)計驗證經(jīng)驗分享(第三部分):將ASIC IP核移植到FPGA上——如何確保性能與時序以完成充滿挑戰(zhàn)的
本篇文章是SmartDV數(shù)字芯片設(shè)計經(jīng)驗分享系列文章的第三篇,將繼續(xù)分享第五、第六主題,包括確保在FPGA上實現(xiàn)所需的性能和時鐘兩個方面的考量因素。
在數(shù)字時代,DRAM(動態(tài)隨機(jī)存取存儲器)扮演著至關(guān)重要的角色。它們存儲著我們的數(shù)據(jù),也承載著我們的記憶。然而,要正確地操作DRAM并確保其高效運(yùn)行,了...
ADS8528、ADS8548和ADS8568時序注意事項立即下載
類別:電子資料 2024-10-10 標(biāo)簽:串行模數(shù)轉(zhuǎn)換器并行
類別:電子資料 2024-10-10 標(biāo)簽:ldo時序調(diào)節(jié)器
瀚海微SD NAND應(yīng)用存儲功能描述 3 總線信號電壓和時序
母線信號電壓切換順序: 初始化順序電壓切換命令順序如下方圖所示, 初始化命令順序如圖所示UHS-I主機(jī)流程圖。 紅色和黃色框是初始化UHS-I卡的新程序...
中控流程工業(yè)首款A(yù)I時序大模型TPT發(fā)布
點燃AI引擎,打造工業(yè)應(yīng)用新范式? 杭州2024年6月7日?/美通社/ --?6月5日,由中控技術(shù)傾力打造的流程工業(yè)首款A(yù)I時序大模型TPT(Time-...
時序 IoTDB 賦能上海電氣國軒智慧儲能運(yùn)營云平臺建設(shè)
1.應(yīng)用背景 上海電氣國軒新能源科技有限公司(以下簡稱“上海電氣國軒”)長期致力于電化學(xué)儲能業(yè)務(wù)的技術(shù)研發(fā)、工程應(yīng)用和市場開拓,實現(xiàn)從電芯到儲能系統(tǒng)的全...
2024-05-10 標(biāo)簽:數(shù)據(jù)庫儲能時序 441 0
時序數(shù)據(jù)庫是什么?時序數(shù)據(jù)庫的特點
時序數(shù)據(jù)庫是一種在處理時間序列數(shù)據(jù)方面具有高效和專門化能力的數(shù)據(jù)庫。它主要用于存儲和處理時間序列數(shù)據(jù),比如傳感器數(shù)據(jù)、監(jiān)控數(shù)據(jù)、物聯(lián)網(wǎng)數(shù)據(jù)和日志數(shù)據(jù)等。...
2024-04-26 標(biāo)簽:傳感器數(shù)據(jù)庫時序 650 0
其實也很簡單,先把數(shù)據(jù)線DATA,也就是ONELINE,拉低 6ms 后,發(fā)送 8 位數(shù)據(jù),先發(fā)送低位,再發(fā)送高位。使用高電平和低電平比例來表示每個數(shù)據(jù)...
何為信號完整性的分析信號完整性包含:波形完整性(Waveformintegrity)時序完整性(Timingintegrity)電源完整性(Poweri...
2023-08-17 標(biāo)簽:信號時序電路系統(tǒng) 6135 0
涂鴉推出NekoDB時序數(shù)據(jù)庫,助力全球客戶實現(xiàn)低成本部署
隨著IoT技術(shù)逐漸成熟,眾多設(shè)備產(chǎn)出的數(shù)據(jù)呈現(xiàn)指數(shù)級增長。企業(yè)亟需用行之有效的方式管理海量時序數(shù)據(jù)。由此,各類時序數(shù)據(jù)庫開始成為市場寵兒。與市場需求相悖...
2023-07-24 標(biāo)簽:存儲數(shù)據(jù)庫時序 2091 0
在過去的幾年里,我們見證了大型蜂窩網(wǎng)絡(luò)在某些方面的巨大轉(zhuǎn)變。當(dāng)然,最值得注意的是向5G的過渡。5G是一種更高速,響應(yīng)更快,更強(qiáng)大的網(wǎng)絡(luò)架構(gòu)。5G實現(xiàn)了更...
2023-05-31 標(biāo)簽:網(wǎng)絡(luò)時序5G 647 0
DS1624的2線時序規(guī)格與I2C不同。本應(yīng)用筆記詳細(xì)介紹了其中的區(qū)別。SDA不由DS1624內(nèi)部保持??偩€主站有責(zé)任保持SDA,直到SCL的下降沿完成。
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |