Monday, March 31, 2008

八字閒談:改變命運的秘法

1. 接受
2. 等待
3. 做不想做的事

嚴格說來,標題應該是面對命運的方法,只有第三項才算改變。若不考慮病藥、調候、通關,一般身弱的人較多,以扶抑的扶為主,也就是多讀書與多運動。次則培養興趣,可減低壓力。至於一般滿腦子想升官發財的人,除非身旺,否則徒增壓力。

以上為用印比、用食傷。

八字閒談:官殺食傷混

一干一支:明明是這個,表現出來卻是那個。
兩干:有時是這個,有時是那個。優點:有彈性。缺點:反覆。

Saturday, March 29, 2008

另類八字學之笑傲江湖(上)

最早,五嶽劍派的高手只在深山中修行練劍,並不過問世事。隨著魔教與少林武當的崛起,五嶽劍派逐漸有推派劍派盟主再行角逐武林盟主的意思。

劍派的功夫各擅勝場,彼此之間利益也不相同,實力隨著四時更迭互有消長。對於武林盟主感興趣的程度也不一樣,興趣高的,會在山下成立分堂,以支援派出的劍宗氣宗高手不等。其中有成立分堂就此叫停者,也有高手不顧派中禁令而單飛挑戰,除非得到其他門派的奧援,否則鎩羽而歸居多。

實力差者若閉戶不出者倒也無事,成立分堂固守不出除非遇到世仇兵強馬壯也能自保,最怕是單飛的楞小子,往往壯志未酬,無法幫助劍派盟主爭奪武林盟主,這叫太白目了!

五嶽劍派的比試結束之後,會留下四個分堂支援四位劍客,其中一人為劍派盟主。有時盟主實力不強,譬如恆山派的儀琳小師太,這時只好靠華山派的令狐沖老大加持,但總不如令狐大俠親自出馬來的有用!

八字課堂:千里八步

評斷之步驟

1. 看強弱
2. 定格局
3. 取用神
4. 論喜忌
5. 查歲運
6. 推六親
7. 評性情
8. 斷事業

評斷之標準

1. 看強弱以日干為主,以多寡、盛衰、失時、得令為標準。
2. 定格局以月支為標準,外格不在此例。
3. 取用神以鋤強扶弱為標準。
4. 論喜忌以用神為標準。
5. 查歲運以喜忌為標準。
6. 推六親以四柱六神為標準。
7. 評性情以五行用神為標準。
8. 斷事業以用神及喜忌為標準。

此為簡易程序,初學者可以此步驟練習。

Saturday, March 22, 2008

有情無情

異性相吸,同性相斥,陰陽不同者有情,陰陽相同者無情。

有情 無情
正官 七殺
正印 偏印
劫財 比肩
傷官 食神
正財 偏財

無情者七殺,法律、軍警、外科等。
無情者偏印,以文史哲而言,哲學,很硬的知識,也屬偏印。宗教、玄學、術數,都是偏印。偏印,我會的一定要教你。或者,我會的,根本就不想教你。
無情者比肩,熟朋友、親兄弟,又不服輸,競爭心強。
無情者食神,我自顧自發表,懶得理你意見。藝術家者屬於此類。
無情者偏財,我的財物,但我不大在意,基本上只想處理,不會特別想擁有。

有情者劫財,大家都是好朋友。
有情者傷官,我講的話,通常和你不同,但我就是很想和你辯。

有情者正財正官正印,天上三奇。

Wednesday, March 19, 2008

科技:淺談8051



8051是常見的MCU,它有4K ROM on-chip Code Memory、128bytes on-chip Data Memory、兩個Timer。2系列則是Memory double、Timer+1,3系列無 on-chip Code Memory,7系列則以EPROM取代ROM。其他還包含四個IO port、一個Serial port、兩個外部中斷等等。



一般每個指令需要二到三個machine cycle不等,每個machine cycle費時12個clock,因此如果接上12Mhz的震盪器,則也1Mips的運算量。1T或4T,代表可在1個clock或4個clock完成一個machine cycle。

40根pin,crystal用掉兩根接腳,電源與接地兩根。四個8pin IO port 32根,還有四根是PSEN(low enable)、ALE、EA(low enable)、RST。P0可作為外接memory的8 bit data pin,P0+P2則是16bit的address pin,因此可接上64KBytes的Memory。P1一般用途,P3則有中斷、計數器、Serial資料收送與外部Data Memory的讀寫控制。

PSEN(low enable): 接到EPROM的OE(Output enable)。
ALE: port 0從address切到data mode時,用來latch記憶體的位址。
EA(low enable): 切換內外部的code memory。
RST: Reset。



128bytes的on-chip Data memory,首先是四個Register Bank,再來是128bits的bit addressable locations,以上到127則是一般用途。128到255則是SFR(Special function register)。在8032裡128到255的memory以indirect mode讀寫,這是data與idata不同之處,idata慢一點。

Addressing Modes
Register
Direct
Indirect
Immediate
Relative
Absolute
Long
Indexed

其中記憶體模式可以是SM(小型編譯模式Small,資料預設放入DATA區),CP(緊湊型編譯模式Compact,資料預設放入PDATA區)或LA(大型編譯模式Large,資料預設放入XDATA區),通常在變數不多的情形,用SM可增進程式效率(別忘了DATA區的存取速度最快),當然大一點的程式就要用LA了。pdata: paged external data memory allowing access 256 bytes at a time through port 0

參考資料:
The 8051 Microcontroller / I. Scott Mackenzie / Prentice Hall

科技:淺談FAT

FAT,全名是File Allocation Table,也就是檔案配置表。提到FAT,免不了扯到DOS,Disc Operating System,是的,早期的IBM PC用的是微軟的作業系統,DOS,就是用來管理磁碟的。事過境遷,3 1/2"的Floppy disc在許多準系統上已經被淘汰掉,硬碟目前也多不再使用FAT來管理檔案,不過,在隨身碟或記憶卡依然可見到FAT的身影。FAT,概念上很簡單,只要有人講過一次就會明瞭,並沒有什麼神奇的地方。

磁碟物理上以磁柱Cylinder、磁軌Track、磁區Sector的方式組成,但是MS_DOS是以LBA,Logical Block Address,也就是0, 1, 2 ...等連續號碼來指定Sector。第0 Track所有的Sector讀完後會繼續讀下一面第0 Track的Sector,如此可以減少讀寫頭的移動。

一般一個Sector為512Bytes,幾個Sector合為一個Cluster,檔案存取以Cluster為一單位。雖然會浪費掉一些空間,但是對大量資料的配置比較有利,此外Cluster由連續磁區組成,資料不易散置各處,也可減少讀寫頭的移動。或許你會認為把磁區的容量加大就可解決問題,但是磁區大小是磁片規劃的基本,以Cluster方式可保有彈性與相容性。

磁片的基本單元,如BOOT磁區、FAT、根目錄等是以磁區為單位配置,這幾個磁區後面存放檔案或子目錄(也視為檔案),以Cluster配置。

1. BOOT磁區與BPB(BIOS Parameter Block)
磁片第0軌一開始是BOOT磁區,放置BOOT程式開機時由ROM BIOS讀入MS_DOS其他部分,BOOT程式前的BPB放置的資訊包含每一磁區的Byte數、每一Cluster的磁區數、FAT之前的磁區數、FAT之個數、根目錄的容量、邏輯磁區的總數與FAT所佔的磁區數等等。

2. FAT
FAT為磁片的Cluster配置表表格上劃分為欄,FAT16每欄佔16位元,FAT32每欄佔32位元。一個FAT的欄對應到一個Cluster,若此欄的值為0表示未使用,否則是使用中。FAT欄的真正用途是:用來指出下一個Cluster之所在。譬如第004號FAT欄的值是005,則表示資料放在第004個Cluster,而後續的部分放在第005個Cluster,如果第005號FAT欄的值是FFFFH(@FAT16),則表示結束,否則繼續搜尋下去。由於FAT保留前兩欄,因此Cluster的配置由No.2開始。

3. 目錄與FDB(File Description Block)
FDB存放有檔名、日期、檔案長度等,每個FDB是32位元,其中的指位器一欄則指向第一個存放檔案的Cluster。



瞭解了FAT的原理,則可以配置Cluster給檔案使用,至於刪除檔案,只要把檔名第一個字元改成@(E5H),檔案就看不見了,要救回也方便。另外快速格式化則清理根目錄與清空FAT即可。

延伸閱讀:
FAT: General Overview of On-Disk Format

參考資料:
IBM PC MS_DOS 技術手冊(二)徹底研究篇 / 施威銘 / 波前

科技:淺談USB



早期用過PC的人通常會碰到中斷設定衝突的問題。中斷在PC的應用上採串接兩顆8259A PIC(Programmable Interrupt Controller)而成,Master上有幾個固定裝置,譬如IRQ1是Keyboard,IRQ4是COM1、IRQ3是COM2、IRQ7是LPT1、IRQ5是LPT2、IRQ6是Floppy Controller等等。磁帶因為後來少使用,因此IRQ2又接到另一顆Slave上用來擴充,常見的硬碟/光碟機即使用IRQ14。

一開機如果進入BIOS設定,可以調整哪些周邊要使用哪些中斷,設定不對有時會造成無法使用或當機。由於周邊裝置種類越來越多,基於使用的方便與速度的考量,由微軟主推USB作為新一代的傳輸介面。USB最大的特點,我想是熱拔插/隨插即用,其次是支援127個裝置,撇開mini USB不談,每個裝置的接頭都是一樣的。

USB主要有四種傳輸型態,分別是Interrupt、Bulk、Isochronous與Control。Interrupt譬如Keyboard/Mouse,著重在資料的正確性。Bulk則是應用在Printer、Scanner或是Mass Storage上,也是著重在資料的正確性。另外Isochonous譬如Speaker、Video等影音資料則注重即時性,對資料的正確與否比較不考慮。最後則是系統使用的Control Transfer,資料量雖不大,但正確性與即時性都很重要。

為什麼可以熱拔插/隨插即用?事實上USB把PC與周邊的Handshaking大部分的運算量都放在PC的Controller上,以高速Polling(每秒1000次)的方式一直下Request,不管是送、收資料。當裝置一接上PC,Host會下幾個Command,在此忽略有關Hub的,分別是:

Get_Device_Descriptor
Set_Address
Get_Device_Descriptor
Get_Configuration_Descriptor
Set_Configuration

以文字敘述,就是電腦會先問周邊,你是什麼樣的裝置?譬如Keyboard、Mouse、Printer等等,然後電腦會給個編號,然後電腦再問你是什麼樣的裝置?周邊這次會回答我是第幾號什麼裝置,電腦確定後會再問你要用什麼設定?周邊回答完電腦重新設定。到此完成裝置列舉,接下來電腦會依需求存取資料譬如硬碟/光碟機或是WebCam/Keyboard/Mouse等等。以上的過程叫做Enumenation(裝置列舉),至於這些Descriptors裡面放些什麼東西,可以看這裡



這邊講一下周邊的硬體架構,一個獨立的USB SIE,上面會有Memory,又稱為Endpoint供存放資料,一般以0、1、2來說,Endpoint 0是Tx Rx雙向,用來收發Command,Endpoint 1是Tx,用來傳送資料,Endpoint 2是Rx,用來收取資料。資料會透過SIE(Serial Interface Engine)傳到Hub上,通常是Root Hub,也就是PC。有命令或資料進來時,則透過Interrupt通知周邊的CPU,CPU這時進入ISR(Interrupt Service Routine),前述Enumaration的Command則在此Parscing,以解讀/準備相關資訊。通常SIE會整合到MCU上,這時的外部中斷則變成內部中斷了。

以Keyboard/Mouse為例,由於Host Polling的速度遠大於人手指按鍵盤的速度,因此Keyboard/Mouse的CPU在收到資料時會放到Tx Endpoint上,Hub在Polling時會自動把資料收去。就其他Bulk或Isochonous的裝置而言,應用上應該是類似。

延伸閱讀:
usb-in-a-nutshell.pdf

參考資料:
The 80x86 Family / John Uffenbeck / Prentice Hall
USB Design by Example / John Hyde / Wiley

Sunday, March 09, 2008

醫學:牽張反射、肌梭、高爾肌腱器

牽張反射(stretch reflex)是牽張縮短循環的重要機制,此一機制能快速連接離心神經與向心神經,利用本體感受器的刺激,在最短時間內增加運動單位的徵召(盧英治,2000)。肌肉產生牽張縮短循環動作的主要本體感受器為肌梭(muscle spindle)和高爾肌腱器(Golgi tendon organ);肌梭與高爾肌腱器在功能上最大不同處,在於肌梭偵測肌肉的相對長度,而高爾肌腱器偵測肌肉的張力。牽張反射主要發生在肌肉被用力快速伸展,肌梭為了保護肌肉所引發的反射性收縮動作;然而肌肉的張力極強時,高爾肌腱器會發出抑制效應,使肌肉放鬆。因此,如何加速神經和減低神經的抑制,便是增進牽張反射原理相當重要的機制。在實施增強式訓練時,由於肌肉的快速離心收縮,使得肌肉中的肌梭受到刺激而伸展,進而造成該主要作用肌群的伸展反射(鄭景峰,2002;盧英治,2000)。(資料來源)

肌肉中有兩種監視其活動的裝備﹐稱為受納器。一為肌梭﹐一為高爾基腱器。肌梭是一組在結締組織膜中裹著的纖細的肌肉纖維﹐因其狀如梭而得名。在肌梭的每一條纖維上都盤繞著狀似螺旋的神經末梢。當肌肉拉長時﹐這些神經末梢送出排發的衝動到脊髓中去﹐使支配肌梭所在之處的肌肉的運動神經元興奮﹐同時通過中間神經元﹐使支配對抗肌肉的神經元抑制。這樣﹐肌梭所在處的肌肉接受到由興奮的運動神經元傳出的神經衝動而收縮。同時其對抗肌因失去神經衝動的支持而放鬆。在適當的興奮和抑制的情況下﹐兩種肌肉的一張一馳會取得平衡。高爾基腱器位於筋腱中﹐對張力極敏感。當肌肉張力增加時﹐這種受納器發放的神經衝動也增加並傳入脊髓中﹐通過中間神經元抑制支配該肌肉的運動神經元﹐使這塊增加了張力的肌肉放鬆。高爾基腱器的放電閾限比較高﹐在肌肉的緊張程度較低時﹐它不發信號﹔只有當肌肉張力有迅速變化時(猛的收縮或放鬆)才爆發神經衝動。肌梭的放電則是隨著肌肉的張力變化而變化的。兩種受納器互相配合﹐高爾基腱器監視肌肉張力的變化﹐肌梭監視肌肉變化的程度﹑方向和速度。也可以說前者是粗調裝置﹐後者是細調裝置。兩者都屬於反饋的控制系統。(資料來源)

1. 肌梭(muscle spindle):肌梭被包裹在肌肉內,長度大約3-10公釐,它具有感覺肌肉長度的變化,以及感覺肌梭外纖維 (extrafusal fiber) 長度變化比率的兩種功能。每個肌梭上都有兩個感覺末稍,分別是初級 (primary) 或稱Ia傳入纖維,與次級 (secondary) 傳入纖維。這兩個感覺末稍皆分佈於肌梭的中央,這是肌梭裡不具有收縮性的部份;在肌梭的兩端是可收縮的,由r運動神經元 (r motor neuron) 所支配。事實上,正常的肌肉張力 (muscle tone),是靠脊髓反射弧 (spinal reflex arc) 來維持,[7]在正常情況下r運動神經元受到大腦傳來適當的抑制訊息,只維持低度的活動性,並且經由輸入神經纖維 (主要以 Ia 為主) 將訊息傳遞到α運動神經元,使骨骼肌適度的收縮。這種r運動神經元à肌梭àIa輸入神經纖維àα運動神經元à梭外肌纖維的路徑若失去腦部的調控,將導致r運動神經元的活動性增加,因而引起痙攣 (spasticity) 現象。

2. 高爾基腱器(Golgi tendon organ):高爾基腱器的直徑約0.1-1公釐,位於梭外肌纖維與肌腱之間的交界處,並且與肌肉纖維之間有串聯的關係。高爾基腱器受到 Ib 輸入神經纖維的支配,其主要的功能是感覺肌肉的張力,當肌肉過度收縮時,高爾肌腱器會被興奮,經由中間神經元的轉接,抑制作用肌與興奮拮抗肌。(資料來源)