はてなキーワード: EMCとは
日経「大成建設、時速60キロ走行中のEVに無線給電成功 30年代の実装想定」を受け、実証条件とコスト論の真偽を一次ソースで検証する。
記事: https://www.nikkei.com/article/DGXZQOUC052QT0V00C25A8000000/
なお、この記事に「道路上に鉄板を敷き詰めれば非常に安く整備できる」とのコメントがありるため、これについても検証する
https://www.taisei.co.jp/about_us/wn/2025/250718_10570.html
報告書: https://www.mlit.go.jp/road/tech/jigo/r06/pdf/houkokusyo2020-6.pdf
上掲報告書は送電電極を「SUS304(ステンレス)」と明記し、特殊アスファルト層、瀝青シート、排水・透水層、グランド(アルミ系パンチングメタル)など多層構造を前提にしている。単に鉄板を敷くだけでは成立しない。
電界結合はコイルやフェライトを大量に要する磁界結合(IPT)より導体量削減の余地はあるが、高周波電源、整合回路、EMC対策、排水・絶縁構造など別のコスト要因が立つ。一次資料に「鉄板で激安」と読める記述は無い。
MDOT/デトロイト: https://detroitmi.gov/news/mdot-city-detroit-and-electreon-unveil-nations-first-public-ev-charging-roadway-michigan-central
代表例(Electreon): https://electreon.com/projects/michigan-central-station
日経が「デンソーが走行中ワイヤレス給電で約50時間かけ500km達成」と報道した。
https://www.nikkei.com/article/DGKKZO90879320V20C25A8TJK000/
https://finance.yahoo.co.jp/news/detail/26160791d5b00e5619bf133ca6878fb817032097
デンソー公式の距離・時間の一次リリースは未確認だが、真偽は「距離数値は準公式、技術実証自体は整合」扱いが妥当だ。
この技術の優位は「停車充電の削減」「電池小型化」「フリート用途の稼働率向上」にある。
一方で課題は、「インフラ初期費用」「標準・相互運用」「保守耐久」「ビジネスモデル設計」で、とてつもなく大きい。
世界での実証は加速中で、米デトロイトの公道パイロット、伊A35の“Arena del Futuro”、ENRXの高出力実証などがある。
まずはバス、配送、シャトルなど限定ルートでの面展開が現実解だ。
日経のスクープを金融メディア等が伝聞形式で要約。デンソー広報コメントは「実用化に向けた水準引き上げ」程度で、距離の一次公表は見当たらず。よって「走行中給電による長時間連続走行の実証」は整合性が高いが、「500km」の数値は準公式扱いが適切。
世界のパイロット(米・伊・他)やENRXの実測レンジから、長時間連続運転・高効率・高出力は技術的に十分射程内にある。
広域展開の主役。停車は必要だが既存インフラ・標準・課金が整備済み。ピーク電力対策と系統強化がカギ。
ガレージやバス停、信号待ちの「セミダイナミック」に相性が良い。位置合わせ精度が実効効率の鍵。
停車時間は短いが規格統一や在庫・資本コストが重い。限定地域や限定車種に向く。
配車が固定的なフリート(バス・シャトル・配送)で稼働率を最大化。限定ルートへ段階的に敷設し、静止型と組み合わせて面を拡大する戦略が合理的。
都市シャトル、空港・港湾、工場内搬送、BRTや路線バス、定期配送の幹線ルートであろう。これらは「ルート固定・滞在時間制約・回送削減メリット」が大きく、職業ドライバーの稼働を最大化できる。公道パイロットの設計思想は、まず短区間からの段階導入である。
圧倒的に足りてない物
cadence、synopsysという米国企業がほぼ独占している。
なんで重要かというと、色々理由はあるが、1例を上げると製造した時に問題が起こらないかをデザインルールをチェックする。
TSMCが新しい○nmプロセスを出すときは、必ずCacence、Synopsysが対応したとプレスリリースを出している。
デザインルールをチェックしない場合、配線間が短く設計し過ぎていてショートして最悪チップが動かないといった自体になる。
ちなみに中国もEDA企業は立ち上げ出来てない(一応中国国内EDAベンダーはあるが)
日本で独自に2nmプロセスを立ち上げるとして、当たり前だがCadenceかSynopsysに対応してもらう、ということになるはずだ。
日本のソフトウェアを立ち上げるのは流石に難しいのではないだろうか。
Cadence、Synopsysともライセンス量が馬鹿みたいに高い。
1チップ作るのに○億と量産前に飛んでいく。
CPUサーバー上でシミュレーターを動かす方法もあるが、先端ロジックだとトランジスタ数が多くなりすぎて、エミュレータを使わないとまともに検証が出来ない。
エミュレータはFPGAみたいなもので、実チップまでは早くならないがシミュレーターより断然早い。
Cadence、Synopsysともエミュレータも出しているが、こちらも高い。ポンポン買えるものでもない。
チップの次はボード設計する為のソフトや、熱シミュレーター、EMCなど必要になる。
ボードはなんとかしようと思えば出来るはず・・・。先端の高密度はCadence、Altium使いたいが。
ちなみにAltiumに関する書籍は日本にはないが、中国では何冊も出ている。
先端ロジックで設計する会社、製造する工場を作ったとして、作った物が売れないと意味がない。
何を作るのか、だ。
しかも今時の先端ロジックは金がかかりすぎて、グローバルで億単位で売らないと半導体にかかる費用がペイしない。
車に沢山半導体が使われるんだということで報道されるが、台数が少ないので、後回しにされて、半導体不足が解消しないってのは昨今の状況だった。
高温まで対応するなど要求スペックが厳しいわりに、数が売れないので半導体企業としては美味しくない。
PS5の台数でも厳しいはずだ。(PS5は売れば売るほど赤字だし)
スマホほど単価が高くて、体積が小さいの輸送費がかからない、そんなものがないといけない。
AI向けはまだまだどれだけ演算能力があっても足りないので、そっち向けはありかもしれない。
ただチップを作っただけでは動かず、ドライバー、ミドルウェアが必要になる。
インテルがやったようにCUDAからコンバートするソフトを用意するなども必要だろう。
相当性能高いチップを作ったとしても、国内市場だけでペイしないだろう。
ソフトウェアエンジニアの方々も、チップが相当性能高くても携わりたくないのではないか。
NVIDIAのGPUを8個とか、数増やしてどっこいどっこいの性能のチップなら、わざわざ国産チップ用にソフトを作る必要がない。
シェル操作課題 (cut, sort, uniq などで集計を行う) 設問編 - Yamashiro0217の日記の解答例です。MySQL 5.5です。
mysql> CREATE TABLE log ( -> id BIGINT PRIMARY KEY AUTO_INCREMENT, -> server_host VARCHAR(30), -> access_time DATETIME, -> user_id INT, -> access_url VARCHAR(191) -> ); Query OK, 0 rows affected (0.00 sec) mysql> LOAD DATA LOCAL INFILE 'log.csv' -> INTO TABLE log -> FIELDS TERMINATED BY ',' -> (server_host, @unixtime, user_id, access_url) -> SET access_time = FROM_UNIXTIME(@unixtime); Query OK, 9 rows affected (0.01 sec) Records: 9 Deleted: 0 Skipped: 0 Warnings: 0
mysql> SELECT server_host, access_time, user_id, access_url -> FROM log; +-------------+---------------------+---------+--------------+ | server_host | access_time | user_id | access_url | +-------------+---------------------+---------+--------------+ | server1 | 2012-07-27 13:25:24 | 30 | /video.php | | server2 | 2012-07-27 13:25:10 | 20 | /profile.php | | server3 | 2012-07-27 13:25:15 | 7 | /login.php | | server1 | 2012-07-27 13:25:05 | 8 | /profile.php | | server2 | 2012-07-27 13:26:45 | 35 | /profile.php | | server2 | 2012-07-27 13:25:10 | 20 | /profile.php | | server3 | 2012-07-27 13:26:45 | 30 | /login.php | | server4 | 2012-07-27 13:27:05 | 12 | /video.php | | server1 | 2012-07-27 13:27:45 | 7 | /video.php | +-------------+---------------------+---------+--------------+ 9 rows in set (0.00 sec)
mysql> SELECT server_host, access_url -> FROM log; +-------------+--------------+ | server_host | access_url | +-------------+--------------+ | server1 | /video.php | | server2 | /profile.php | | server3 | /login.php | | server1 | /profile.php | | server2 | /profile.php | | server2 | /profile.php | | server3 | /login.php | | server4 | /video.php | | server1 | /video.php | +-------------+--------------+ 9 rows in set (0.00 sec)
mysql> CREATE INDEX log_ix1 ON log (server_host); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> SELECT server_host, access_time, user_id, access_url -> FROM log -> WHERE server_host = 'server4'; +-------------+---------------------+---------+------------+ | server_host | access_time | user_id | access_url | +-------------+---------------------+---------+------------+ | server4 | 2012-07-27 13:27:05 | 12 | /video.php | +-------------+---------------------+---------+------------+ 1 row in set (0.00 sec)
mysql> SELECT COUNT(*) -> FROM log; +----------+ | COUNT(*) | +----------+ | 9 | +----------+ 1 row in set (0.00 sec)
mysql> SELECT server_host, access_time, user_id, access_url -> FROM log -> ORDER BY server_host, user_id -> LIMIT 5; +-------------+---------------------+---------+--------------+ | server_host | access_time | user_id | access_url | +-------------+---------------------+---------+--------------+ | server1 | 2012-07-27 13:27:45 | 7 | /video.php | | server1 | 2012-07-27 13:25:05 | 8 | /profile.php | | server1 | 2012-07-27 13:25:24 | 30 | /video.php | | server2 | 2012-07-27 13:25:10 | 20 | /profile.php | | server2 | 2012-07-27 13:25:10 | 20 | /profile.php | +-------------+---------------------+---------+--------------+ 5 rows in set (0.00 sec)
mysql> SELECT COUNT(DISTINCT server_host, access_time, user_id, access_url) -> FROM log; +---------------------------------------------------------------+ | COUNT(DISTINCT server_host, access_time, user_id, access_url) | +---------------------------------------------------------------+ | 8 | +---------------------------------------------------------------+ 1 row in set (0.00 sec)
COUNT関数の中にDISTINCTを書けるのは覚えておくと便利です。
mysql> SELECT COUNT(DISTINCT user_id) -> FROM log; +-------------------------+ | COUNT(DISTINCT user_id) | +-------------------------+ | 6 | +-------------------------+ 1 row in set (0.00 sec)
mysql> SELECT access_url, COUNT(*) -> FROM log -> GROUP BY access_url -> ORDER BY COUNT(*) DESC -> LIMIT 1; +--------------+----------+ | access_url | COUNT(*) | +--------------+----------+ | /profile.php | 4 | +--------------+----------+ 1 row in set (0.00 sec)
mysql> SELECT REPLACE(server_host, 'server', 'xxx'), COUNT(*) -> FROM log -> GROUP BY server_host; +---------------------------------------+----------+ | REPLACE(server_host, 'server', 'xxx') | COUNT(*) | +---------------------------------------+----------+ | xxx1 | 3 | | xxx2 | 3 | | xxx3 | 2 | | xxx4 | 1 | +---------------------------------------+----------+ 4 rows in set (0.00 sec)
mysql> SELECT DISTINCT user_id -> FROM log -> WHERE user_id >= 10 -> ORDER BY user_id; +---------+ | user_id | +---------+ | 12 | | 20 | | 30 | | 35 | +---------+ 4 rows in set (0.00 sec)