静岡理工科大学紀要
15カウンタによるスリップ制御を用いたビット同期回路の検討
Bit Synchronism Circuit with a Slip Control by a Counter Circuit
袴田 吉朗*
Yoshiro HAKAMATA
Abstract: We have been developed LD-CELP codec programs using C5402 DSPs, or C5510 DSPs. The codec algorithm is based on TTC standard JT-G728. We conllrmed the developed programs to work bit exactly according to the algorithm.
Total codec system, however, doesn't work well because the fabricated codec system operates on the basis of independent clock frequencies and it is not implemented with bit synchronism circuit. This time, we studied a bit synchronism circuit where a bit slip between a coder and a decoder clock frequencies are controlled by a slip control counter. The counter operates at dozens of higher frequencies more than transmission bit rate. The paper gives a method on how to construct a bit synchronism circuit with a slip control by a counter. Also described is an application of the method to LD-CELP codec.
1
‘ はじめに
本論文では
LD-CELPアルゴリズムを適用した音声用コーデ ックに適用することを目的として,独立したクロックの下で動 作する
CODERと
DECODER間のビット同期をとる方式に関し て検討した結果を述べる,検討したビット同期方式では,
DECODER
において受信波形の持つクロック周波数の別倍の
高速クロックで受信波形を多点サンプリングし,カウンタによ ってスリップ制御を行いビット同期を確立する.
LD-CELP
アルゴリズムは
lIC標準の勧告
if - G728で規定 されている国.この方式では音声を
8kFlzでサンプリングし,
16
ビット量子化した符号を
LD-CEI了アルゴリズムに基づいて 符号化処理を行い
16kb/sに」瑚者したコードブックインデックス
ICHAN
に変換して伝送する.高い圧縮率が実現できる上に
,予
測器とフィルタ利得の係数の演算にバックワード適用を使用し て
625 ii. sの低遅延を実現している.
筆者らは,固定小数点
DSPを搭載した市販の
DSPボード
C54O2DSKを使用してこの
LD-CELPアルゴリズムを適用した 音声用コーデックの開発を行ってきた.
CODERおよび
DECODER
プログラムを
C言語およびアセンブリ言語を用いて
開発し,このプログラムをパソコンから
DSPボード上の
RAMに書き込んで動作させ,
CODERおよび
DECODERがアルゴリ ズム通りに正しく動作することを確認した[
2]ー[
3]また,
CODERおよび
DECODERを組み込みシステムとして 単独動作させるために,開発したプログラムを
C54O2DSK内の
FLASH ROM
に書き込んでおき,電源投入時にそのプログラム
を
RAMにロードして動作させる,いわゆる
ROM化について の検討を行った岡,この結果短いプログラムについては
ROM化を実現することができたが,
C5402 DSPの内蔵している
RAM容量が
CODERおよび
DECODERを実現するには十分ではなく,
そのため
CODERおよび
DECODERを実現するまでには至らな かった
.2009
年
2月
17日受理
*理工学部 電気電子工学科
そこでより高速で大容量メモリを搭載した(
551ODSKを適用 して
CODERおよび
DECODERを実現するための検討を引き続 き進めてきた
.具体的には(
i5510DSKボードにおけるクロック,
A1C23
コーデック,
McBSP, DMAなどの設定について精査し,
C551ODSK
の各種設定プログラムを作成した.また
C54O2DSKで開発した
CODER/DECODERプログラムの(
5510D5Pへの移 植を進め,
C言語で開発したプログラムはもとより,アセンブ リ言語で開発したプログラムの移植も含めてプログラム自体は ビットエグザクトに動作することを確認した‘さらに
ROM化 の方法についても検討し,
ROM化した
CODERおよび
DECODER
を用いて対向試験を実施してみた.しかしながら
CODER
と
DECODERが独立したクロックの下で動作している 状
I,にあり必然の結果として音声を正しく復号することができ なかった.この経緯についてはヌ献巨]において詳細に報告した・
以上の経羅助、ら,本論文では独立したクロックの下で動作す る
CODERと
DECODER間のビット同期をとる方法を検討した
,まず伝送路フォーマットを今までに検討してきたフォーマット に併せた
CODER/DECODERのレイヤ
1システムを構築するた めに
VHDLでプログラムを作成し
,CPLD(サイプレス社
CYc374i100Jdを用いて試作した.検討したレイヤ
1システム は,受信波形を受信波形の持つクロック周波数の
80倍の高速ク ロックで多点サンプリングし,カウンタによってスリップ制御 を行い,ビット同期を確立する方式である
. 23段
PN符号を 用いて試作したシステムの符号誤り率を測定し,
10時間の観測 においてエラーフリーを確認した(
35 Xlゲに相当).これより 本ビット同期方式の有効性を検証できたものと考えている
弓は続いて,検討したビット同期方式の
LD-CEI了コーデッ クへの具体的な適用についての検討結果を示した.
以下本論文では一連の検討結果について述べる,
2'LD
一
CELP方式
CODECの概要
2.1 CODER
および
DECORDERのシステム構造
CODERのシステム構造図を図
2.1に,
DECODERのシステ
ム構造図を図
2.2に示す.
Mc耳SP1 McBSP2 interrupt
exchange
sampling rate
8kHz serial
port (McBSP)
sync. event
(REVT2) *rxPt 「 *src
*txptr *dst McBSPO
ICHAN(l0bit) +preamble(6bit)
CLKXO(25.6kItz)a FSXO(1.6kHz)
16
1 BCLK
* ibil
一一 32 bit …ーー‘
K
、・
DINノ DOUT
1 0 1 0
CLKX (25.6kHz)
(b)
図2.3 CODER~DECODER インタフエース
叫 ト
FSX →i 十
(
1.6kHz
) ー i
1 0
ICHAN 」】
4- 6bit ト‘ lObit
ICHAN(lObil)
[ ノ
McBSP1 McBSP2 interrupt
exchange
sampling rate 8kHz
CLKRO(25. 6kHz) FSRO(1.6kHz) ICHAN(lobit) +preamble(6bil)
sync. event
(XEVT2) *txpt 「 *dst
*rXPtr *src serial
port (McBSP)
Vol.17, 2 0 0 9
非常に取扱いが難しいので
,筆者らは符号語
ICHANに
6ビットのプレアンブル、ターン
101010を付加した独自の伝送路フ オーマットを用いて検討を行ってきたβ].このフォーマットを 図
2.3⑤に示す.このフオーマットは
McBSPO と伝送路のインタフエースであり
,CODEPJDECODER間における
25.6kHzク ロックのビット同期を確立しておく必要がある.
図
2.3⑧はMcBSP2 と ADDA変換器間のインタフエースである.16 ビット×2 のステレオ音声がバースト伝送される.
図
2.1 CODERのシステム構造図 BCLK = MCLKJ4 =3MHz
縄 1875 BCLK
FS(8kHz)
ーー一,
4ー
図
2.2 DECODERのシステム構造図
C551ODSK
には
DSPのシリアルポート(
McBSP:マルチチ ャネル・バッフアード・シリアルポート)が
3チャネルある.
いずれもSPI インタフエースになっている,
McBSPl
はマルチプレクサ(SN74CBT3257) を介して
A1C23コーデックと外部
IJFに配線さ才にいる.デフォルトでは
MISCレジスタの
MCBSP1SELビットが
0に設定されている. これよ り
McBSP lはA1C23 コーデックの制御チャネル(SPI マスター)
として設定され,A1C23 コーデックの各種設定に使用される.
McBSP2
はマルチプレクサ(SN74CBD384) を介して
DSP外部と接続されており,接続先を
A1C23コーデックまたは高イ ンピーダンスに設定できる.デフォルトでは
MISCレジスタの
MCBSP2SELビットが
0に設定されており,McBSP2 は
A1C23コーデックのデータチャネルに接続されている,
McBSPO
むg ッファ
(SN74CBT3384)を介して外部
I/Fに接 続さ才にいる.
CODER では符号語ICHAN出力用のディジタル インタフエースとして使用する.伝送路クロック
25.6kHzおよ び
1.6kHzのフレーム信号は,タイマー割り込みを用いて
DSPクロックから生成する,
DECODER
では符号語
ICHAN入力用のディジタルインタフ エースとして
McBSPOを使用する.
CODERと同じように
25.6kFIzクロックと1.6kHz のフレーム信号はタイマー割り込み を用いてDSP クロックから生成するが,このときα)DER にお けるクロックと,
DECODERにおけるクロックの周波数偏差に 基づくスリップを防止する必要がある.
2.2
伝送路フオーマット
勧告
JT-0728 では符号語ICHANを単純に
16kb/sのビットス トリームにして伝送するようになっている.しかしこの方法は
3.
カウンタによるスリップ制御を適用したビット同期回路
3.1概要
送信部では符号語
ICHANに樹疑した入力PM 信号を
10ビット毎に区切り,6 ビットのプレアンブルパターンを付加し,
16kHz
→
25.6kHz に速度変換して図2.3⑤の伝送路フォーマ ットに組み立てて送信する.8192kF1z の水晶発振回路の出力を 分周して
25.6kHzおよび
16kHzのクロックを作成している‘
16kHz
クロックは,パルス発生器の
FKF入力端子に加え,
8192kHz
のクロックと同期の取れた
PN信号を発生させる,
図
3.1に受信部の構成図を示す,受信部は,カウンタにより スリップ制御を行って独立クロックで動作する送受信回路のビ ット同期をとり,またプレアンブル同期をとってフレーム信号 を生成する
(bit frame douki).プレアンニカl徐去回路(vconv rx) ではプレアンブルを除去し送信された
PN信号を取り出す.ク ロック源は送信部と同じく
8192kHzの水晶発振回路であり,こ
PN
信号
-H
vconv
図3.1 カウンタによるスリップ制御を適用した ビット同期回路のの構成図
l6kb/sPN信号 rx
IN C
止
(2048kHz)d a
・
ふ ×
D
detect I ' SyUC
I
→
cin fo一ー→
吟 o →ふ
→
elksyncset
CLK(25.6kHz)
静岡理工科大学紀要
17れを
4分周した
2Q48kHzクロックで動作させている.実際に
mCELP方式コーデックで必要になるのは
bit frame douki回 路であり,
vconv nc回路は
bit frame douki回路の特性を評価す る目的で試作したものである
.32
ピット同期回路の動作
図
3.2に検討したビット同期回路のブロック図を示す.また 図
3.3はこの回路のタイミングチャートである
,図
3.2ビット同期回路のブロック構成
0 0 4F 4F
ー州 ~一
28h図
3.3ビット同期回路のタイ
25.6kb/sのプレアンブル付き符号語
ICHAN (ll'4)を
2048kHzのクロック信号
dkで
2ビットのフリップフロップに入力し,
EX OR
を取ることによってエッジ(
Edge)を取り出す.エッ
ジ間のクロック数をカウンタ
qtlでカウントし,エッジが発生 したときに以下のようにカウンタをリセットする.
同期状態
clk=79 (4Th)で
41=0入力信号周波数が大
clk=78 (4Eh)で叫
1=0入力信号周波数が小
clk=0 (oh) で
qtl=0このようにリセットを契機として万
.6kHzクロックの状態 を反転させて受信部の
25.6kHzクロックを生成するので,スリ ップが起こらないように制御される.カウンタ叫
1が
0になっ た時を契機とするのは,入力クロックの周波数によって
qtlが リセットされるタイミングが変動
するが,必ず
41=0となる場合が 存在するためである.半周期後の 変化は
40ロ
8h) elk後である.ま たエッジがこない場合には同期状 態と同じように,
clk=79 (4Th)に おいて軍
1=0とさせるフライホー ル動作を行わせる
cLK(25 6kHZ
、 この結果,入力信号のクロック
周波数に対応してエッジの間隔が 変化し,したがって
16kHzクロツ
クの立ち下がりエッジも変化してジッタが発生する‘しかしな がら図
22に示した
DECODERのシステム構造図から分かるよ
うに,
McBSPOから入力される信号は一旦ダブルベッファーを
介して
DSPに入力されるので,このときに
25.6k1セクロックの ジッタは完全に抑圧される,
なお本検討で使用している図
2.3ゆ)に示した
LD CELP方式 の伝送路フォーマットでは,プレアンブル
101010を前置してお り,
16ビット以内に必ずエッジが来ることが保証されている.
このためビット同期回路にとっては緩い条件になっている,
33
プレアンブル同期回路の動作
本検討で対象としている
LD-CEI了コーデックにおける
McBSPOのインタフエースは
SPIインタフエースである.した がってプレアンブル付き符号語
ICHANからフレーム同期信号
(プレアンブル同期信号)
fsrを取り出す必要がある.
このため文献[
6]の符号誤り率測定器において設計・試作し その動作が確認できているリセット計数形式のフレーム同期回
ー, 路を用ることにした.このフ
」
Lレーム同期回路は,ブリセッ トカウンタを使用した
1ビッ イール動作 ノ
γ玉ノ”「 ・」~ー ト即時シフト方式である.ブ
l I t日
ri口上。ノ
-, L -Iゴで」、ープ。唾こ
2 1ず ロック構成を図
3.4に,タイ ミングチャートを図
3.5に示
INEdge qtl 25.6kHz
「 1
ライホイール動作 = ライホイール動作
4FX 4F
I I I
一
I I- -, I Iす.
I
ー一
I一』
I一 “ 図
3.4において,
CIxはビ ミングチャート ット同期回路から供給される
25.6kHzクロック(
25 6kHz I)である.入力信号(
in)はプレ アンブル付き符号語
ICHANであり,フリップフロップで
2048kHz
クロックとタイミングをとって入力する,またフレー
ム同期信号加および出力信号
ichan outを,内部のシフトレジ スタを介してタイミングを会わせて出力する.両信号を後述の プレアンブル除去回路
(vconv rx)に入力して使用する.
図
35の左端の時刻における状態は同期はずれ状態であり,
Ioad=0, fp=1
になっている一入力信号からプレアンブルを検出 すると
detect=1となり,この時点で
Ioad=1となり
1ビット即時 シフトが終了し同期弓は込み状態になる
.このフレーム同期回 路では
3段のカウンタを使用した保護回路を使用しているが
,後方保護段数を
3に設定しているので
,島
rを
3個計数した時点
図
3.4プレアンブル同期回路のブロック図
3.4
プレアンブル除去回路の動作
d in 州
CLK Pt (25.6kHz)
16
ビットシフトレジスタ
Sr out1 I I
-edge_out
d out
cik . ' 64
進カウンタ
qtlー。
Ut (2048kHz).16kHz
クロック発生 →→
fp_in
引 FF(3bit)
へ
~ 25.6kHz~ I
c ノ ’ ト
edge_out
w
」 一
一 一
一瓢
J“・‘、“・= ,”』舌ソ‘"”・.v,’」“""‘.、“i 1250 I 1300
、:,叱・‘‘・;呂’こ・苫’:''E呂呂・叱臣‘‘・:呂呂苫“可りト馴
綴鷺難欝鷺鷺
一
一
、’,''"'”、”‘"'"'"'',"""'"''''''"’い“".''’,、、、”‘、”‘''"'""""',’与”‘'",’.マ‘ん、、
700 I 750 i 800 t 850 i
'S・;・;S:呂り’就・;,召・;・;臣‘;・‘ '';郵・:臣‘'‘き;,;';・;LES・;':S・ES・】’;S叫苫’」‘く中剖‘‘臣」S・Eシ;,;片
“電 D ~‘ liI か I コ(三 i 回~(』 iI 動.昭,~‘ I 回‘廻 i 》四~”‘皇 ID 、 i 】田
極
I》極
il~(蓬~
(.i1~
(r~~(
i1~
fl~“一儀》
h・
図
3.7プレアンブル除去回路のシミュレーション結果
D"d,'"fpn
田
cト
sr_out◇●曳
e_out田つ
buf2.outく’
d_out亡ト
ciki陳
hzj= cDcl6khzn
田心ト
qtl一
α戚
18CLK
detect
口
Vol.17,2 0 0 9
プレアンブル除去回路は,
プレアンブル付き符号語
load ICHAN
からプレアンブル
を除去し,送信回路・受信
QT1 o0oo01)(
0o2X x ( Val(0 域 00 xxx (知蜘咲 00 式 xx (x)
Va(000001印
回路を対向させて符号誤り 率特性を測定し
,ビット同
七 期回路の特性を評価するた
fsrQB coo( 001 x002 (oo3 (004
めの回路である.図
3.6に
syncset
プレアンブル除去回路のブ
ロック図を示す,図
3.7に シミュレーション結果を示 図
3.5プレアンブル同期回路のタイミングチャート(
Val=Fh)で信号
synaetが
1となり同期確立状態になる.
syncsetは同期 確立を示すための
LEDを点灯させる信号として使用した.なお 前方保護段数は
2とした
.フレーム信号
Jr,出力信号
ichan_outおよび
CLK(25.6kHz)が,
SPI
インタフエースを構成するデコーダーに実際に入力する信 号である.
fpは
vconv rxに入力するためのフレーム信号であり,
島「よりも
25.6kHzクロックで
1クロックだけ遅延している.
m-i 二刻 10ビットンフトレジスタbuf2 out ト
0
<
図
3.6プレアンブル除去回路のブロック図
す‘
c]kは
2048kHzクロックであり,
aKはビット同期回路か ら供給されるクロック信号
c1k25 6kFlzにある.
d
血は送信部から送信され,ビット同期回路を通過した
25.6kb/sのプレアンブル付き符号語
ICHANである.
fpinはフ レーム同期回路において生成されるフレーム同期信号
(fp)であ り,先頭の
101010のプレアンブルを検出し,次のフレームにお ける先頭ビットとタイミングを会わせて出力されている‘
(D
プレアンプル付き符号語
ICHANのシフトレジスタ
sr_outへの読み込み
25.6kb/s
のプレアンブル付き符号語に
HANを
25.6kHzクロッ クの立ち下がりエッジにおいて,
16ビットのシフトレジスタ
sr outに格納しているが
,Tlのタイミングにおいてレジスタの 内容は図
3.7に示すように
ABO3hになっている.符号語
ICHANはこの
srout@)~sr_out(9)に入っている.
②
sr out→
buf2_outへの読み込みタイミング 符号語
ICHANを
16k1セクロックで動作する
10ビットのレジ スタ
buロ
outに読み込み,プレアンブル除去と速度変換を行う,
読み込みのタイミングを得るために,
25.6kHzクロックで半ク ロック遅れているフレーム同期パルス
fpinの立ち上がりエッ ジ]
2を用いる,そのためにフレーム同期信号
fpinを
3ビット のフリップフロップに入力して
2048kHzクロック
doの立ち上 がりでサンプリングし,そのエッジ
edge_outを取り出す
フレーム同期信号
fpinのエッジ
edge_outが生成された時点
p11_in
C止 (2048kHz)
I eni, sr_sw生成
洲16kHz クロック生成
++
H
en2, ping_pong_change read mode生成
→ 25.6kHzクロック生成
H
Pmgout ping_outトトー
pongout
16kHz ト
output
-
十
AA25.6kHz
‘ 読み
出し Pong=。ut →制御
4
1→, 《 きみ御 書込制
り喜ff:
響鷺難議麟繊二蕊薫蕪蕪二 I 二二薫蕊薫 I 蕊戴蕪 一
) 〉一 一 ー一D rst
'’・“博
'pfl,
D.0k
◇ckl6khzj
◇output
LlI IlIIIlIIlII 土 ー Ll ー 主ま 一 」 一 I ー一 t , ー I ー 土上上 I ” 上 L 土上 1 1 ~
イ- en2.out
ィ’『●“ー”“ーα』● ~
◇p1質”博一phar*eー
'..OO‘国●●田●1●●’●1●..‘●●.く●●.●.O''''''''
田◇cnt22二Out 田◇pN.out
田◇poni.put (ItI"4ii加雪便ニ,匹,唖,(唇,gD 1E
静岡理工科大学紀要 19
では,図3.7のTlに示したようにシフトレジスタsr oulにはプ レアンブル付き符号語ICHANが格納されている. edge_out=1 のタイミング12でSしout(の~srout(9)に入っている符号語 ICHANをbuf2 outに読み込む,図3.7の例では,sr outに入っ ているABO3h の下位10ビットである303hがbuロoutに読み込 まれている.ABO3h は,図3.7におけるプレアンブル付き符号 語d 血においてエッジ間を16 進数で表した値に対応する.
buf2 outに読み込む具体的なタイミングは以下の通りである,
edge_in=1 fl elkの1エッジ β)16kHz クロックの生成
clkl6kHzl, clkl6kHzNおよび叫1 outはすべて2048kHzク ロックの立ち上がりエッジで動作する.4しoutは,2048kHzク ロックと16kHzクロックの上ヒ128の12である64をカウントす る6ビットのカウンタである.edge_out=1あるいは41 out = 3Fh(63)になると反転し,16kHz クロックを生成する・
(4)符号語ICHANの取り出し
符号語ICHANを取り出すために,以下の条件を満足すると
きにシフトレジスタbuf2 outのシフトを行っている.
qtl_out一63 fl clkl6kHz_I=0 fl cikのtエッジ 4.送信部の構成
4.1 送信部の構成およびタイミングチャート
図4.1に送信部のブロック構成を,図42に送信部全体のシミ ュレーションによるタイミングチャートを示す.16k1セクロッ クで動作する入力信号pn_hiに6ビットのプレアンブルパター ン101010 をイ、」加し,25.6kHz のクロックに速度変換して出力信 号ouゃutを出力している・
速度変換のためにシリアル入力,パラレル出力動作の2つの 16ビットシフトレジスタpingmおよびpong_outを用いてダ ブルバッファー動作を行わせている,
41 16kHzクロックおよび25.6kHz クロックの生成 8192kHzの水晶発振回路からの入力cikを512分周および320 分周し,16kHz クロックおよび25.6kHzクロックを生成してい る.16kHz クロックlシ、ルス発生器のFXf端子に入力し,C止 と同期のとれたPN 信号を発生させるために使用している.
25.6kHzクロックは,回路内部における使用が主目的であるが,
モニタするために外部にも取り出している.
図4.1 送信部のブロック図
43 ダブフいッファーの制御信号 以下の制御信号を作成し使用している‘
'eni_out 16kb/s の入力信号(pn 血)の中央で立ち上がり,
8192kHz で 1クロック後に立ち下がる信号.pn_in をping_o皿あるいはpong_outのどちらのバッフアー に書き込むかを制御する.
・
sr SW eni out=1のとき,8192kHz クロックc]kの立ち上が りで動作する(図示されていない)カウンタcntll が9になると状態を反転する.なお図4.2の表示で 先頭に波形のマークがついているのは内部信号であ り,実際には論理が反転されて表示されている,くトck万欧hz ロ布
◇enl.oui
~~ ~ ~ ~
~
“賓一洲
図4.2 送信部のシミュレーション結果
CLKRO(25 .6kHz) bit frame douki
FSRO(1 .6kHz)
serial port (MCBSPO)
十
ICHAN(lObit) 2048kHz(8192kHz) 25.6kHzfsr out
IN to DSP
20 Vol.17, 2 0 0 9
・en2 out 25.6kHz
クロックの立ち上がりエッジで立ち上がり,
8192k1
セ で
1クロック後に立ち下がる信号,
画
g_pong_change信号と共にダブルバッファーから 信号を読み出すタイミングを制御する
.・pingpong..phange en21out=1
のとき,いずれのバッファー からデータを読み出すかを制御する.
・re
詞
mode out読み出し時に,データとプレアンブを切
り分けるための制御信号,
4.4
ダブルバッフアーへの書き込みおよび読み出し
(1) 書き込み
下記の条件が満足されるとき,
8192kHzクロックの立ち上が りで書き込む.
sr sw=O fl eni out=1
・
pongへ書き込み
sr sw=1 fl eni out=1・・・
pingへ書き込み
② 読み出し
下記の条件が満足されるとき,
8192kHzクロックの立ち上が りで読み出す
ping_pong_change=O fl en2_out=1 fl read mode=1
・・・
pingから読み出し
ping_pong_change=1 fl en2_out=1 fl read mode=1・・・
pongから読み出し なお
read mode=Oのときはプレアンブルを読み出す.読み出 しは
case文を用いて記述した.
5
.ビット同期回路の特性評価
5.1符号誤り率の測定
送信部からパルス発生器の
E)f入力端子に加えた
16kHzク ロック信号によってパルス発生器を動作させ,
l6kb/s, 23段
PN信号を発生させ,その信号を送信部の
pn_in端子に入力して プレアンブル付き符号語
ICHANに相当する信号を出力させた.
この信号を第二の水晶発振回路(
8192kHz)のクロックで制御 される受信部に入力し,プレアンブルを除去して
PN信号を取 り出し符号誤り率測定器に入力して符号誤り率を測定した,
測定は
2回に分けて行い
,各
5時間の測定においてエラーフ リーを確認した.これは符号誤り率に換算して
3.5X1ゲ以下を
2回確認したことになる.
5.2
送信部および受信部における
25.6kHzクロックの測定 図
5.1は送信部の
25.6kHzクロックでオシロスコープにトリ ガをかけて,受信音防、ら生成される
25.6kHzクロックをストレ ージ機能を動作さて撮影した写真である
.受信部クロックの立 ち下がりはクロック周波数の偏差に基づいて,太くなっている 部分にばらついており,ジッタを発生しているが,カウンタに よるスリップ制御の効果が確認できる‘ジッタの大きさは
4.6度
pp以下である.
5.3
ビット同期回路の周波数偏差に対する耐力
受信部の水晶発振回路(
8192kHz)の代わりにパルス信号発 生回路を接続し,その周波数を変えて符号誤りが発生する限界
周波数を測定した.その結果パルス発生器の周波数が
8000kHz~8470kHz
においてエラーフリーとなることを確認した.周波
数偏差に換算すると,
12.3%~+3.4%が許容偏差であった.
図
5.1 25.6kHzクロックの観測結果
α】
SOOns/div) 6. LD-CELPコーデックへの応用
6.1 CODER
への応用
CODER
では図
2.3に示した伝送路フオーマツトを作成する
必要がある.このとき必要になる
25.6kHzクロックを
DSPクロ ックからタイマ
10を用いて作成する.
25.6kHz
クロックの整数倍の関係にあるクロックとして
192MHz
を選択するものとすれば 図
6.1に示したようにタイ マ
10を設定すれば良い.このときプログラムにおいて以下の
C言語命令を実行し,
CPLDのセレクタを選択してタイマ
10の出力先力汐陪
βインタフエース①の
45番ピンである
X_IDUThに出力されるようにしておく必要がある.
DSKS51O_rset(DSKS51O_MISC,TINOSEL);
1.6k1
セのフレーム信号は,内部のサンフりレレート生成器を図
6.1に示したように設定することによって得られる.出力信号
X DXOは外部インタフエース(②汝)
24番ピンから出力される,
なお外部インタフエースの電源電圧は
3.3V系になっている.
62 DECODER
における
DSPクロックの選択
DECODER
にビット同期回路を実装するためには本検討で
示した
bit frame douki回路を図
6.3のように接続すれば良い.
ここで
2048k!セ (あるいは
8192kHz)クロックを
DSPクロツ クに基づいて生成する必要がある.
図
6.3 DECODERとビット同期回路の接続
フレーム 同期パルス の周期
(oh)
192MHz
【 I O/1 「コ【 う 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79
静岡理工科大学紀要
21ED 、
フレーム同期 ビットの幅
、、
CLKGDV FPER FWID (25.6kHz) CLKR pin 1→ト 」ー 」ー →ト 」ー 」ー 中
- I rer三 - CLKRP pin + -L)t. を→ニ◆→ Frame PulseCLKG
CLKSM=0
丁一ーーーー」 ト
S
し
LKE=」
McBSPO Clock Generation using DSP Sample Rate Generator.
TIMER PERIOD=3749
TIMER PRESCALE=0 CPLD
CP=1
(トグルモード)
(25.6kHz) X-TOUTO
+ ト
」 山 日
P(25.6kHz)
階』
GTIMER PERIOD+1
~ 十 十 十 十
TIM=0 TIM=0 TIM=OTIM=0TIMO (7500
分周)
DSP TIN!
TOUTO T
ブログラムで
DSKS5 10_rset(D5K5510_MISC,TINOSEL)
を実行して
TOUT出力を選択
1 357 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45
×談
→く
x×
『
ぐ
X-DXO橿
② の
24番ピン
25.6kHz
《 ―
X-.TOUTO (<X~CI KXI)
紫
<<X-FSX
『首
》一
X-CLKRO黄
図
6.1 CODERにおける外部インタフェースの配線図
ハ
+5V
赤
JOB PLL MULT
ふ
5 4 32 1 0~
PLL DIV PLL ENABLE BYPASS DIV BRAKLN LOCK FigDsP
ー
192MHz
mTKER DtDJOD 'l
#と凸二 叫―
γI+
Clock Mode Register(CLKMD
CLK MasterClock
cLK =PLLMULTI
DSP = x
(1280kHz)
:IO
ポートの
lCOOh )CLKRO
紫
>>X
>>X -FSRO
橿
(MasterCiock PLLDIV+1
= 24MHz)
TIMER PERIOD=74 TIMER PRESCALE=0 CP=1
(トグルモード)
<<X
緑
)
-TOUTO 1280kHz CPLD
/
→く x
X-TOUTO
,TINOSEL
出力を選択
TIMO(150
分周)
DSP TIN!
TOUTO
10_rset(DSK55
を実行して
TOUT DSK55プログラムで
十
10_MISC
-DRO
白
\ +1
-
ハノ
UT」 了
Xの
30番 ピンへ 十 十 十 十
TIM=0 TIM=0 TIM=OTIM=0
、 13 579 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 喫談 『
×『 ノ
図
6.2 DECODERにおける外部インタフエースの配線図
15 14 13 12 11-7
ED
chan
国
''i'' ic
響
[El 碑碑
ichan[397}
I ,, chan[
[ 叩 I
ichan[39
吐
iclian[3]一ー‘
,
」
2.00W 2 2.00W f -f-14.3a 500r 一 星/ Sng1 +2 STOP22
DSP
にクロックを供給する
DSPクロック発生器の動作の制御,
監視は図
6.4に示すクロックモードレジスタ
CLKMD q0ポー
トの
lCOOh)を通じて行うことができる.
15 14 13 12 11-7
lOB PLL MULT
6-5 4 32 0
PLL DIV PLL ENABLE BYPASS DIV BRAKLN LOCK
図
6.4 Clock Mode Register(CLKMD).DSP
に入力されているマスタークロックは
24MIHJzであり,こ れを内蔵の
P1エを用いて最高で
200ll-Jzにまで上昇させて用い ることができる,
Pu」を使用するためには
PLLENABJE=1にし てクロック発生器をロックモードに設定する
.DSPクロックの 周波数は次式によって計算し
CLKMDの値を決めれば良い.
DsP~cLK= PLLMULTI
DSP_CLK = x MasterCiock PLLDIV + 1 (1) (MasterClock = 24MHz)
また以下の命令を実行して設定する(
CLKMD=2CD3hの場合)
. MOV #(2CD3h), port(#lcOOh)タイマ
10を用いて
DSPクロックから受信部カウンタの高速 クロックを生成するためには以下の条件が必要である.
① 分周比が整数である.
② かつ偶数である
②の条件は,
DSPのタイマ
10からクロックを生成するときト グル動作を行わせるので,その結果として分周比が必然的に偶 数となるためである.
なお生成される周波数
TIIT二
rateは次式で与えられる.
llNT rate= Input clock rate TINT rate =
(PRD+1)x(TDDR +1)
ここに,
Input clock rateは
DSPクロック,
PRDはメインの周期 レジスタ,
TDDRはプリスケーラ周期レジスタである.
カウンタの高速クロックとして
2048kHzあるいは
8192kHzクロックを用いる場合について,これらのクロックと整数比と なる
DSPクロックを探したところ,送信側と同一の
DSPクロ
ック
192MHzを含めて条件を満たすクロックは得られなかった.
次にカウンタの高速クロックの変更も含めて周波数を探った ところ,
DSPクロックー
192MHz,受信部の高速クロック=
= 1280kHz,分周比=
150と言う解が得られた.但し,この場合に は同期状態においてスリップを制御しビット同期を確立するた めに使用するカウンタの最大値は,
80ではなく
50とする必要 がある.
DSPクロックー
192MHzとする
PLLMULTおよび
PLLD1Vの組み合わせは前述の式から
3通りある
.P1エのロツ
ク時間は
PLLMULTの小さい方が小さくなる.したがって
DSPのタイマ
10を用いて
1280kHzクロックを生成するためには,
P1
」八
lULT:ニ
8, PLLD1V=0として
CLKvD=2413hに設定すれば 良い.
文献
[5]における処理プログラムの実行時間の検討は,
200MHz
のクロックを用いたときに行っており,このときには
Vol.17, 2 0 0 9
処理時間に十分余裕のある結果が得られている.したがって
192MHzの
DSPクロックであればほぼ同等の結果が得られる ものと思われる.
DSPクロックのその他の候補としては
128MHzも考えられ この場合には分周比は
ltX〕となる.しか しながら
DSPクロックを
128MHzに低下させる場合には,コー デックの実行時間の再評価が必要である,
63
ビットフレーム同期回路のシミュレーション結果 カウンタの高速クロックを
1280kHz,カウンタの最大値を
50としたビットフレーム同期回路のプログラムを
VHDLで作成 し,シミュレーションを行った.
図
65はリセット直後のシミュレーション結果である.この 時点では
syncset=0であり,まだプレアンブル同期が確立されて いないが,約
19(Xル
Sにおいてプレアンブル同期が確立さ才に いる,
Ichan血のエッジが
biし
edge_outとして抽出されているこ とが分かる.
図
6.6は
6(mS付近のプレアンブル近傍を拡大した図である.
25.6kHz
クロックが
2つあるが,
1280k1セ クロック
cikから生成 されるのが
c1k25.6khz iである.この信号を一旦
ICの外に取り 出して再度入力して
25.6kHzのクロックとして用いており,こ れが
c1k25.6khz血である,この結果から以下が分かる.
bi
し
edge_outは
ichan_血 を
elkで打ち抜いた
2クロック目で 生成される,
c1k25.6khz_i
はカウンタ
qtl=0および
qtl=25(19h)で反転す る,その間の時間は正しく
1周期の
1/2になっている.
ichan out
は
cIk2S.6khz iの立ち上がりエッジで,
cikの立ち 上がりエッジで生成されている.
図
6.7は
800 Us付近の拡大図である.エッジの生成はないが フライホイール動作によって
clk2S.6khz_iが正しく生成されて いる.
6.4 McBSP
におけるビットオーダリング
図
2.3に示した伝送路フォーマットにおいて
16ビットデータ が転送される場合には,データは
MSBが最初に,
LSBが最後 に伝送される.
CODERにおけるこの順序については文献国
で示した
Fig 7.3の結果から確認ができている.これを図
65に再掲する.
図
65 ROMベースで測定した
CODERの出力波形
(上段】
ICHAN,下段】
FSX)インbitー~eーOut
19.531 25 us
fD
皿廷誠
I馴助
i且‘屠些》
g,四唇》藍,母
O働琶》.四を》邑蛇,
..E!,G,(!】!》(叫@
‘》’c1c25.隊hz~m
い L-m
ー'856,
.叱可,',二l可,,.,可”=,,,削
854
一一一
一一一
一思
」 ー 『一
一一
一一一
'r馴 0.ck
・CU電隊hzi 田つ中1.out
'"bhanh
く’fsr . cbanout
: yncset
図6.8 ビットフレーム同期回路のシミュレーション結果(その3)
◇bit_edge_out
I I
. ,I,, ,I...~
◇fsr でトiChfl_OUt
● syncset
図6.7 ビットフレーム同期回路のシミュレーション結果(その2)
静岡理工科大学紀要 23
図6.6 ビットフレーム同期回路のシミュレーション結果(その1)
, ias31答 us ,
.色●ど
i●〈
!1》(愛”〈雪(ひ回(
iI,(ia(iコ母母〈
i」加】範恥ョ(浄 !馴
iI I,”唾,
iD'Ii,iI,《
mIl馴助
IA。
ck2b_6khzー 「――ー
I,1
I-24 Vol.17, 2 0 0 9
図
6.5は
α)DERのメモリに評価用のディジタル音声
spfを内
蔵させておき,これを
ROMベースで構成した
α)DERから出 力させて観測した符号語
ichan[切近傍の波形である
.ichan[O]に おいては
ICHANに前置させるプレアンブ
Jレベターンをオー
)レ
0とし,他のワードでは
10ノ、ターンであると言う規則性を強制 的に乱すようにした,すなわち符号則違反(
CRV)を付加して おり,図の中心の直ぐ右側の部分に
CRVが見えているにれ
によって
ICHANを特定できるようにしている
.評価データは
ichan[396]=235h, ichan[397] = 336h, ichan[398j = 25Fh, ichan[399] = 255h , ichan[0] = 252h , ichan[1] = 39Eh , ichan[2] = 39Dh,chan[3] = 251h
である.図
6.5の測定結果からプレアン ブルの後ろにこれらの
ICHANが確認でき,
MSBからビットが 送信されていることを確認できる.また
ICHAMとフレーム信 号
FSXは
1クロックの遅延になっている.
DECODER
においては,図
22に示した
McBSPOおよびピンポ ンバッファ間では,図
2.3に示した
16ビットのデータが入力さ れるので
MSBから送信が開始される順序が変わることはない.
但し,プレアンブルを取り除くために
DECODER処理プログラ ムにおいてプレアンニカ
lイ寸き符号語に
HANと
3FFhとの
ANDを取ってから入力する必要がある.
7
.むすび
本論文では,受信波形を受信波形の持つクロック周波数の
80倍の高速クロックで多点サンプリングし,カウンタによってス リップ制御を行うことによってビット同期を確立する方式のレ イヤ
1システムを設計,試作し評価した検討結果を示した.
(1) 16kb/s
の
23段
PM信号を用いて試作したレイヤ
1システ ムの符号誤り率を測定し
10時間の観測においてエラーフ リーを確認し,その有効性を検証した.
② 受信部におけるカウンタの高速クロックの周波数を変え ながら符号誤りが発生する限界周波数を測定したところ,
8000k11z~8470kHz
においてエラーフリーを確認した.周 波数偏差に換算すると
-2.3%- +3.4%が許容偏差であった.
G
)検討したビット同期回路の
LD・
CEI了コーデックへの応用 を検討した.
CODERでは
DSPクロックを
192MHzとし,
これをタイマ
10によって
7500分周して
25.6kHzクロック を作成してやれば良いことが分かった.
④
DECODERでは,タイマ
10を用いて,
DSPクロックから 受信部の高速クロックを生成するために,分周比が整数倍
でかつ偶数になる周波数関係を探る必要があった
.その結果,
DSP
クロックー
192MHz,受信部の高速クロックー
1280kHz,分周比=
150とすれば良いことが分かった,この場合には同 期状態において,スリップ制御を行ってビット同期を確立す るためのカウンタの分周比を
50とする必要があることが分 かった.
以上の検討結果に基づいて,今後
LD-CELP方式コーデック にビット同期回路を組み込み,コーデックを完成させてその特 性の評価を行っていくことを目指したい,
[謝辞]
ビット同期回路に関して有益なご助言を頂いた本学電気電子 工学科 郡 武治教授に感謝します.また卒業生の外間大介君,
市川琢磨君,卒研生のメ梶達也君には回路の製作および測定を 担当して頂いた.ここに記して感謝の意を表します一
[参考文献]
[1] "J1
二
G728低遅延符号励振線形予測(
LD-CEUり を用いた
l6kbit/s音声符号化方式”,電信電話技術委員会
[司袴田吉朗,溝口真規,緒方渉,菅野純一,
"LD-CEI了アル ゴリズムを適用した音声
CODERの開発”,静岡理工科大学 紀要,第
11巻,
pp.35一
59 (2003)[3
]袴田吉朗,石田雄三,
"LDー〔正
I了アルゴリズムを適用した 音声
DECODERの開発”
,静岡理工科大学糸匿
g,第
12巻,
pp.75 96 (2004)
[司袴田吉朗,遠藤直樹,
'tD~cELP音声コーデックの
ROM化 に関する検討”
,静岡理工科大学紀要,第
13巻,
pp.9-14(2005)
巨]袴田吉朗,
"C551ODSKを用いた音声コーデックの開発”,静 岡理工科大学紀要,第
14巻,
pp.13-24 (2006)回増田智美,袴田吉朗,
'PN信号発生器および符号誤り率測定器 の設計と試作”, 静岡理工科大学紀要,第
10巻,
pp.37-54(2002)
[7] "TMS320055x DSP CPU Reference Guide."
[8] "TLV32OAIC23 Stereo Audio CODEC, 8-to 96-kHz, With Integrated Headphone Amplifier Data Manual."
[9] "TMS320055x DSP Peripherals Overview Reference Guide."
[10] "TMS32OVCS5O1/5502/5503/5507/5509/5510 DSP Multichannel Buffered Serial Port (McBSP) Reference Guide."
[11] "TMS32OVC551O DSP Timers Reference Guide."
(1)
(4)