前の5件 | -

FM音源のDACインターフェース解析の更新 [IPコア]

以前やったFM音源のDACインターフェース解析(2015-11-06)のつづき。

どうもYMF262の波形がおかしいという話になり、実機を調べてもらったところ、fsが14.318MHz÷256ではなく14.318MHz÷288だった。
YMF262はDACとしてYAC512を接続するのだけども、このビット長が16bit×2なのでそれをデータフィールドと勘違いしてしまったようだ。実際には16bit長のデータの前に2bitのダミーがあり、全体では18bit×2のデータフィールドになっている。
でもデータクロックのデューティ比が25%とかいうのは一緒。あんまりピン遅延とかボード遅延とかシグナルインティグリティとかをとやかく言われなかった時代っぽい感じはする。

あと変態的な信号を発生するとして一部のスジでは名高いYMF297も実機を測定してもらったので、データとして追加した。一緒にYM2203も調べて貰えばよかったか‥‥。

DAC出力フォーマット_20160926.pdf
※9/26追記:YM2151のクロック極性が逆になってたので修正しました

あと、C140の動作クロックとDACクロックがいくつなのかご存じの方いましたら@s_osafuneまでリプお願いします‥‥<(_ _)>

system2.jpg

NiosIIのROM化ではまった備忘録 [IPコア]

いつのバージョンからか詳細には不明だけども、ROM化がうまく動かなくなった。
症状としてはEPCSからの自作ブートコピアからアプリケーションへのブランチがうまくいかないというもの。

NiosII Gen2のあたりからそういう報告があったので、キャッシュか、Gen2になって何かハード的に追加されたのだろうなー、とか考えていたら、原因は全然違うところにあった。

原因は大きく2つ。
(1)BSPを-O3でコンパイルするとrwdataセクションの初期化にmemcpyが使われる。
(2)elfファイルのセクションテーブルのpaddrフィールドが使われるようになっている。

NiosII SBTでBSPを作成すると、main関数が呼ばれるまでにメモリやPOSIXの初期化が行われるが、その中で組み込みC言語では必須になるrwdataセクション(初期値付きデータ領域)の初期化のために、元データからメモリへ値の転送が行われる。
この時点ではC言語が動作する前提がまだ整っていないため、原則としてはアセンブラで行わないといけないのだが、NiosII SBTでは普通のCで書かれているためGCCではメモリ間コピーだと推測して勝手にmemcpyを呼ぶように変更してしまう。
こと組み込み関係では標準関数がどう実装されているかは環境によるため、初期値付きデータ不定の状態で正しく動作するかは保証ができない(どうも今回の場合では期待通りの動きをするようだ)。

二つ目の方は既存のROM化ツールを使っていたので発覚した問題。
どのバージョンから変更になったのかは不明だが、NiosII SBT 16.0のリンカスクリプトではBSPの設定としてtext、rodata、rwdata、bssのセクション名は存在しているものの、elfファイルに結合された時にはbss以外は一つのセクションにまとめてしまう。
このときBSPで初期化ロードのオプションを付けていると、rwdataの初期値データのみをRO属性のセクションとして切り出すが、elfファイルのセクションテーブルのアドレスフィールドの設定がちょっとまずい(というか互換性の問題が出る)値になる。

GCC3まではVADDRフィールドのみが使われ、rwdataの元データとメモリ転送先の2つがそれぞれ別のセクションとしてテーブルに存在していたが、NiosII SBT 16.0ではrwdataの元データのみがセクションになっていて、ソフト実行時に参照するメモリ上のアドレスを示すVADDRフィールドと、ロード時にデータが存在するアドレスを示すPADDRフィールドが使われている。
既存のツールではVADDRフィールドの値でロードアドレスを決定しているため、これをそのまま使うと初期化前にrwdata領域に値を転送し、初期化ルーチンではからっぽの初期値データで上書きしてしまうことになる。


対策としては、アプリケーションロードに関してはrwdataの初期化を初期化ルーチンで行わない(BSPで初期化ロードのオプションを外す)ことで対処する。
こうするとrwdataの初期化は、ロードされたプログラム側ではなくロードするブートコピア側で行われることになるため、(1)(2)の問題は発生しない。

この場合、ロードされたプログラムの再エントリ時に初期値が戻らないというデメリットがあるが、そもそもEPCSからのブートコピアであればリセット後には必ずセクションのロードが行われるので運用上では問題ない。


へたにROM化するよりも、大容量メモリをつけてファイルシステム付きのブートローダーでelfを実行するIPL環境を標準にした方がいろいろ楽になると痛感した一幕でした。睡眠時間と終電をかえせ。

MakerFaire台北に出展してきた報告

去る5/7~5/8の日程でMakerFaire Taipiが開催され、今年も高須さん(@tks)がニコニコ技術部枠で取りまとめをしていましたので便乗して出展しました。
海外MakerFaire参加は2014年のBayArea、昨年の台北と続き3回目になります。

今回はNT京都で参加を募った成果で(そそのかすとも言う)、関西6名、北陸2名、九州2名、関東2名での参加となりました。
昨年は1週間の滞在だったのでLCC+ドミトリー利用でしたが、今回は土日挟んで期間が短かったため、関西組はまとめてパックツアーを利用。これでもエバー航空の日中便と日本語が通じるホテルに三泊四日の日程で、一人4万円ちょいで済んでます。東京行くより全然安い。

到着後、ホテルにチェックインして荷物を放り込み、さっそく光華商場(電気街)に繰り出します。
DSC_1080.JPG

去年と比べて公式絵が急激に絵柄がトレンドに追い付いてきている感はんぱない。
DSC_1081_1.jpg

初日の晩ご飯は松江自助火鍋城で激ウマの肉鍋をいただきます。
DSC_1086.JPG

翌日からMakerFaire開催。
今年のMakerFaire台北の会場は、昨年までの崋山1914から士林にある科学技術館に変更になりました。
DSC_1096.JPG
DSC_1094.JPG
DSC_1097.JPG

着々と設置をしていきます。
DSC_1104.JPG
DSC_1103.JPG

会場の雰囲気などは他の参加の方々のブログを巡っていただくとして‥‥。
士林といえば夜市!
DSC_1128.JPG
DSC_1129.JPG
DSC_1141.JPG

二日目は北陸組と関西からのスポット参加組が合流して展示が追加。
ブースは2テーブルなので交代で店番をしつつ、近場の観光にでかけます。
士林からほど近い圓山でコミフェスをやっているという情報をGetしたので見物に。
DSC_1167.JPG

なんだろう、アウェイなのにホームな雰囲気がする‥‥。
DSC_1168.JPG
DSC_1172.JPG
DSC_1173.JPG
DSC_1176.JPG
DSC_1186.JPG

そこかしこで飛び交う日本語が「ヲタの公用語は日本語」というのを静かに実感させます。

二日間の日程を終えて記念撮影。ちなみに撮影者は通りすがりのエリック・パン氏(※Seeed StudioのCEO)
13161559_1120859037977527_1266228256_o.jpg

そして打ち上げはやっぱり松江自助火鍋城。
DSC_1190.JPG

年々存在感を増していく東アジア圏のMakerFaireですが、その中でも台北と深圳は頭一つ飛び抜けています。無論、足らないところダメなところもイロイロあるでしょうが、それを蹴っ飛ばすパワーを感じます。
今回は「大阪まではASEAN」「パワフルなおばちゃん」「台北中央=なんば」「御堂筋線じゃねーかこれ」などなどの名言が飛び出し、うすうす感じていたホーム感の理由が判明しました。うん、関西だここ。

ニコ技西日本勢、特に関西と北部九州勢にとっては東京よりも安くて行けるMakerFaireということで、今年は遠征する人が倍ぐらいになりました。来年はもっと増えるとイイね。道中の参加者の様子などはMF台北 ツイートまとめからご覧下さい。

一度行くとリピーターになる人が多い台湾。魅力をいろいろ語ることもできるけど、今はこの一言で締めくくりたい。

「台湾はいいぞ」


メイカーズのエコシステム 新しいモノづくりがとまらない。 (OnDeck Books(NextPublishing))

メイカーズのエコシステム 新しいモノづくりがとまらない。 (OnDeck Books(NextPublishing))

  • 出版社/メーカー: インプレスR&D
  • 発売日: 2016/03/28
  • メディア: Kindle版

D10 地球の歩き方 台湾 2016~2017

D10 地球の歩き方 台湾 2016~2017

  • 作者:
  • 出版社/メーカー: ダイヤモンド・ビッグ社
  • 発売日: 2016/03/19
  • メディア: 単行本(ソフトカバー)


NT京都2016参加しました

恒例になりました春のニコニコ技術部イベント「NT京都」が今年も西院春日神社でとり行われました。

NT京都とは
毎年、春分に一年の息災と技術の発展を祈願し、各人が製作したものを持ち寄り技術奉納を行うニコニコ技術の例祭である(大嘘

あ、でもちゃんとお祓いはしてもらってます。

うちはPERIDOT CRAFTのブースで、物販と新作の展示をおこないました。
Cd89r1MVAAAADdA.jpg
なお当日入手できなかったという人はコチラで通販をしていますのでご利用ください。
 → PERIDOT CRAFTオンラインショップ

今回の目玉。ペン型オシロ。
Cd9CRn3UUAECgA-.jpg

ナムコSYSTEM-II基板!しかもワルキューレの伝説!
Cd92VGOUIAEGlEm.jpg

PERIDOTを使って、YM2151とC140の信号をデジタル処理、ミキシングとサンプリングレート変換をしてS/PDIFに出力しています。
Cd93LcWUMAAr4dR.jpg

尻P(野尻抱介先生)が間宮羊羹を配給していたのでいただきました。
パリパリの糖衣とあっさり漉し餡の羊羹がウマイ(⁰▿⁰)
Cd90I1yUMAAv6KN.jpg

せっかくなので持参した南極点のピアピア動画(台湾版)にもサイン頂きました。
Cd9pu4zUEAEZ8b4.jpg

雰囲気や詳細なんかはTwitterで #NT京都 のハッシュタグで検索していただくとわかるとおもいますので、こちらでは詳しい話は省略(あんまり撮ってないし)。

毎年、昼も夜も盛り上がる一年一度のお祭りですが、今年は特に1/1空挺戦車に腰掛けた1/1ミクさん越しに沈む夕日はとても幻想的で、心に残っています。怒濤のNT京都が終わって自宅に帰る道すがら、土曜には無かった桜が咲いてるのを発見して、もしかしたらあの週末は幻だったのではないかと夢現に思ったりして‥‥。
今年も春がやってきました。

kuwa.jpg
kuwa(@1_83m)さん撮影
https://twitter.com/1_83m/status/712057013061062657


次の出展は5月のMakerFaire台北(台湾)の予定です。


南極点のピアピア動画 (ハヤカワ文庫JA)

南極点のピアピア動画 (ハヤカワ文庫JA)

  • 作者: 野尻 抱介
  • 出版社/メーカー: 早川書房
  • 発売日: 2012/02/23
  • メディア: 文庫


ふわふわの泉 (ハヤカワ文庫JA)

ふわふわの泉 (ハヤカワ文庫JA)

  • 作者: 野尻 抱介
  • 出版社/メーカー: 早川書房
  • 発売日: 2012/07/24
  • メディア: 文庫


MAX10のコンフィグをシリアルUARTで書き換える [FPGA]

MAX10のデュアルコンフィグ機能を使って内蔵フラッシュを書き換えるツールをリリースしました。
 → MAX10 Serial Config Updater

Githubリポジトリ
 → max10_config_updater


・仕掛けの解説

MAX10のCFM0にブートローダとなるQsysモジュールを書き込んでおき、CONFIG_SEL='0' でまずこのイメージがブートされる。
ブートローダのQsysはPERIDOTのコンフィグレーション層(のエミュレーション)とAvalonMMブリッジを内蔵していて、これでQsysのシステムIDやチップユニークIDの読み出し、内蔵フラッシュの読み書き、デュアルブートコアのアクセスなどを行う。
ホストPCからはASモードに設定された(FPGAコンフィグ機能が使えない)PERIDOTの派生ボードとして見えているので、Canarium.jsのavmメソッドで内部アクセスができる。

MAX10の内蔵フラッシュペリフェラルはAvalonMMスレーブとしてメモリアドレスにマップされている。フラッシュ書き込みの待ち時間もAvalonMMのwaitrequestでハード的に行われるので、Canarium.jsからは単にメモリ領域の読み書きを行っているだけで済んでいる。
コンフィグレーションデータは32ビット単位でビット順を入れ替える必要があるものの、こういうのはChromeアプリ側でやってしまえるので、ハードウェア側で特別に対応する必要はない。

欠点としてはデュアルコンフィグをベースとするので、M9Kの初期値が使えない、CONFIG_SELピンがI/Oとして使えない&外部からH/Lを選択できないといけない、CFMをユーザー領域に使えない、などがある。

あと、一番最初のブートローダーを書き込むのにはUSB-Blasterが必要、というのは変わらないので、ここはなんとかしたい。ので、今はブートローダー書き込み済みのボードを販売できるよう準備を進めているところ。
チップ単品売りも考えてはいるけど、これは手間とか管理コストがかかるので、どこかしら代理店になってくれるとこがあれば。

CZPMPLwWYAAA0oW.jpg
Chromebookからも使えます。
前の5件 | -