Tuesday, December 23, 2008

CSR C3 F.W. And Trim With Agilent N4010A, 2008/12/24

C3 F.W. And Trim 總算 Released 了, 紀錄如下 :

1. 原 Query Frequency Offset Command : "DIAG:HW:DAP:READ:BT:FOFF?" 原廠 FAE LEI_YANG 釋疑如下 :

The command "DIAG:HW:DAP:READ:BT:FOFF?" is a diagnostic command for debug only. We strongly recommend to use "FETCh:FOFF?" to replace it.
Yang Lei
WiNet Application Engineer
Mobile Broadband Division
China Communications Operation
Agilent Technologies
Tel : +86(10)64396940
Fax: +86(10)64397666
TN: 658-6940
Email: lei_yang@agilent.com

? 不能用 "DIAG:HW:DAP:READ:BT:FOFF?" Get Frequency Offset, 但用 "FETCh:FOFF?" 卻 Always Get Last Test Result, N4010A 並沒有再 "Run/Resume" 一次, 向原廠 FAE LEI_YANG 求助 Ans : 以 "INIT" Command 讓 N4010A "Run/Resume" 一次, 而 Command And Command 間可用分號串聯 :
Old Command : "DIAG:HW:DAP:READ:BT:FOFF?"
New Command : "INIT;FETCH:FOFF?"

PS : DIAG 並非 SCPI Standard Command, 而且 Agilent 方面也沒有 Document, 更不建議用.

至此對 Agilent N4010A Command 方面已可讓 Test Func Work Fine. 但有些不足的是, 在丟 "INIT;FETCH:FOFF?" N4010A Panel 並沒有自動跳到 "Result" Page, 向原廠 FAE LEI_YANG 求助 Ans : Command "DIAG:KEY 72" Is Equal Panel "Result" Button. 所以用 Agilent N4010A Test BT Trim Result Frequency Offset 部份 OK.


2. CSR BC3 Trim : BC3, BC4 有 Host Based 之差異, BC3 Cold / Warm Reset 須 Wait (Sleep) 1~2 Sec For Core Boot, 剛開始一直用 Debug Mode Step By Step Run, 此類 Timing Issue 不會浮現, Release 時卻一直卡住, BC3 Cold /Warm Reset 需 Sleep (Wait For Boot), BC4 不用.


3. nFore Said, BT ColdBoot OK 後會從 UART 吐版本, 但在 F.W. Download And MAC Write 後做(Use API, Help Notes Equal ColdBoot) ColdBoot 後卻是 "Sometimes" 才吐版本(Use Serial Monitor), 所以需要自行 Query (Use "(b)" Command).


4. BC3 在 BootMode 非 1 And F.W. Download And Coldboot OK 之時不可 Open PC Side COM Port, 於此時間 Open PC Side COM Port 自己所遇到的情況是 Sometimes Open OK and Sometimes Fail, 但如果是 Fail, COM Port 會被 "暫時" Lock, 和 小 P 所遇到的 Uart 亂丟東西雖徵狀有異, 但可能是相同原因所導致.


5. 原 Code 在 F.W. Download 後 SetTimer 後即 close spi handle And Coldboot Module, 這樣會造成 UART Data 尚未 Read(Send 也未知...), PC Side UART 未 Closehandle, BT Module 即 Coldboot. 移除該段 Code 後解決 PC UART Read / Send But BT Module Be Coldboot 問題.


6. SCPI Command 修正如下 :
SCPI Init Command :
"*CLS",
"INST:SEL 'RFA'",
"SENS:BAND 1300000",
"SENS:POW:RANG 5",
"SENS:FREQ:CENT 2441",
"SENS:SWE:TIME .00300",
"INIT" -->> "DIAG:KEY 72" 於此時做 Frequency Offset Test ("INIT") 並無意義, 改成將 Panel LCD 切換至 Result ("DIAG:KEY 72")

SCPI Get Frequency Offset Command :
"DIAG:HW:DAP:READ:BT:FOFF?" -->> "INIT;FETCH:FOFF?" 先做 Test And Then Get Frequency Offset Value.


7. 以 "FETCH:APOW" Command 可 Get DB Value. 先前試遍了 "DIAG..." 開頭的 Command 均 Fail.


8. Debug 過程 UART 一直陸續有問題, 除 Open UART Timing 外, Agilent IO Control 也是元兇之一, 在開啟 Agilent IO Control AP 同時用 Layer 0 的 UART Monitor Tool 可以看到 Agilent IO Control AP 開的時候對每個 UART 都做了 Open / Close (Send?) 動作, 如果是剛好(機率極高) 在不可 Open UART 時 Open UART...., BT F.W. & Trim AP 就會受影響 (Uart 已被 Agilent IO Control Open UART 時搞死), 無法 Open / Read Version BT F.W. Version, 整個程式結果也就不正確了.


9. Search Algorithm : 一開始用 Binary Search 似乎 OK, 但若加進從 Agilent N4010A 的 Frequency Offset Value 再配合 Frequency Offset Table, Worst Case 應在 5 times 可得知 Trim Fail, 4 times 即可 Trim OK.


10. 今日版本已將 Log (S.F. Format) 產生出, 後續修改 :
(1) Trim Value Search Algorithm
(2) Hard Coding -> Variable & There Are Default(Use "define") Value And Can Get From XML
(3) BT MAC & S.F. Issue.

Trim Value Search Algorithm 應該比較簡單, 但要長時間量測.
Hard Coding 則要配合 BT MAC & S.F. 一起改.

Saturday, December 20, 2008

Agilent N4010A Trim BT, 2008/12/20

每好的週末來上工, 要有些突破才行. 今天將 Trim 部份搞定了.
一 : PC <- Line-> Agilent N4010 :
1. 可不用 NI API (但仍須裝 GPIB Cable Driver) 來下 Command.
2. 透過 Agilent 的 Agilent IO Control 可達成 General Purpose Programming.
<1> H.W. Interface : 可使用 (1) USB, (2)GPIB, (3) Ethernet, (4) UART[沒有 Try, 因 PC Com Port 只有一個, 拿去接 BT 了] 等 4 種 Interface Connect To Agilent N4010A.
<2> S.W. Interface : 可只用一組相同的 API 經由 Agilent IO Control Manager 和不同 Connection Cable 對 Agilent N4010 下相同的 SCPI Command.
<3> 針對不同 H.W. Interface, 只須在 Agilent IO Control Manager UI 中設定(Sometimes 要自行 Create Instrument & VISA Alias, Ex : Ethernet, GPIB 等), Configuration VISA Alias OK 後即可在 iopen API 中使用.


二 : PC <- Line-> BT:
1. PC 可透過 CSR 的 API 以 USB, SPI, UART 和 CSR BT Module Connection, 這部份因為 BT Module H.W. 只有拉出 SPI, 所以也只 Try 了 SPI, But 從 Other Project 接手時是使用 UART 的, So UART & SPI 應該都沒問題.
2. 透過如 CSR 所提供之 API 如 initTestEngine(param...)[UART], initTestEngineSpi(param)[SPI] 會 Return 一個類似 Win Handle 的東東, 之後所有對 BT Module 的 Control 都用此 Handle.
Ex :
psWrite
bccmdSetWarmReset
bccmdSetAnaXtalFtrim
radiotestTxstart
bccmdSetAnaXtalFtrim
bccmdSetWarmReset
closeTestEngine
psReadXtalFtrim

三. SCPI Command.
原本這部份最模擬, 因
原 Structure : PC<->NI API<->NI Driver<->NI USB2GPIB Cable<->Agilent N4010A,
但嘗試了 PC<->Agilent API<->Agilent I/O Control Manager<->Agilent Driver<-USB/Ethernet/USB2GPIB->Agilent N4010A 後, 使用相同 SCPI Command 所得結果相同, 驗證了 NI API 只不過是 Bypass 而已.

四. SCPI Command.
原本這部份也很模擬, 因 Command 下了之後根本不知道 N4010A 有沒有 Work, Trace Code 後再至 N4010A Panel 驗證, Parameter 的確有被設定到 N4010A, PC Side 由 Agilent Interactive I/O Tools 設定後再透過直接操作 N4010A 驗證 Value 即可了解.
SCPI Verify Command :
*RST;*OPC?
>> Must Return +1

SCPI Init Command :
"*CLS",
"INST:SEL 'RFA'",
"SENS:BAND 1300000",
"SENS:POW:RANG 5",
"SENS:FREQ:CENT 2441",
"SENS:SWE:TIME .00300",
"INIT"

SCPI Get Frequency Offset Command :
"DIAG:HW:DAP:READ:BT:FOFF?"

So 原 Code Get 後用 Flot 接, exp part 並沒掉, 後續除 1000 再限定 Value 於 -2~+2 間為儀器誤差值 2K.


頻譜分析儀操作 :
1. 先設 Central Frequency (BT : 2.441GHz)
2. 再設定 Span (For Test, 100KHz, 100KHz 指的是 Left ~ Right Side)
3. 再設定 Mark (BT : 2.441GHz)
4. BT Module bootmode -> 2
5. BT Enter Test Mode(2441,50,255,0) => BT Module 發出自己認定的 2.441G
6. 接探針 View & Verify.

Tuesday, December 02, 2008

Windows Standard Modem Driver, 2008/12/02

一直有疑問, Why Desktop 上的 "標準 56000 bps" Modem 不能用 Simcom 的 GPRS Module 上網(Telit & Wavecom 似乎都 OK), NB 卻可以用, 今天將 Driver Backup / Restore To Another 後赫然發現, 其實 NB 上的 56000 bps Modem 其實也不能 Run, 先前可以 Work 是因為有 19200 bps standard modem 之故, 用 56000 bps modem 時實際上是用到了 19200 bps 的 Driver, 難怪可以 Work. 本想改改 Modem Driver (inf file only) Try 看看, 可是除了之前發現的 s95=47 外還有其他 Command Simcom SIM 340 也不支援….., so, 結論是 sim 340z 不支援 Windows Standard 5600 bps, 但 Support 33600 bps, 19200 bps (除 5600 bps Try 過不行外, 其他的沒 Try 過, 不知道). 另一家更…!@#% 的 xnfora 似乎也有這個問題.

我負責

 ... + ...........  政策 我負責. 負責推卸責任. (阿不然你以為哩...) 聽說 記錯了 請見諒 深感抱歉.... 抗(國外)疫(苗)中...