佐藤武久のブログ 「日本・モンゴル往来日記」 -76ページ目

スイッチングレギュレータ

2014/06/05

工業調査会「電子材料」1978年10月号に掲載の記事

スイッチングレギュレータ

イメージ 1

イメージ 2

イメージ 3
イメージ 4
イメージ 5

花だより 芍薬(シャクヤク)

2014/06/03

花の命は短くて・・・

5月25日 最初の一輪
イメージ 1

5月28日 白い露草も咲き始め
イメージ 4


5月29日
イメージ 3


6月2日 連日の暑さで萎れがち
イメージ 2


花だより 金陵辺(キンリョウヘン)の開花

2014/06/02

金陵辺(キンリョウヘン)が開花し始めたがまだ蜜蜂の寄る気配はない。

イメージ 1

花だより 黄菖蒲(キショウブ)と蜜蜂

2014/06/02


黄菖蒲と蜜蜂

パワIC STK025Gの特長と応用

2014/06/02

誠文堂新光社「電子展望」1972年8月号に掲載された記事

イメージ 1

イメージ 2

イメージ 3

イメージ 4

イメージ 5

イメージ 6
イメージ 7
イメージ 8
イメージ 9


花だより アカシア(ニセアカシア)

2014/05/31

花だより アカシア(ニセアカシア)

アカシアの花が満開です。
この木を普段アカシアと呼んでいるが正確にはニセアカシア。
アカシア蜂蜜はこのニセアカシアを蜜源とする。
西田佐知子の往年のヒット曲「アカシアの雨がやむとき」のアカシアもニセアカシアとされているそうです。


イメージ 1


イメージ 3



イメージ 2

舞の海秀平さんが相撲漫談@昭和の日お祝いする集い

パワーICの発熱対策と保護回路の考え方

2014/05/25

日刊工業新聞社「電子技術」誌1972年1月号 掲載記事


イメージ 7

イメージ 6

イメージ 5

イメージ 4


イメージ 3


イメージ 2


イメージ 1

デジタル回路シミュレーション(2)

日刊工業新聞社「電子技術」誌連載(1994年1月号から1996年1月号まで全15回)


第16回
   デジタル回路シミュレーション(2)

前号で紹介したようにLogicSimはソフト本体に含まれる標準部品は少ないが、ゲートやFlipFlopなどはAND、OR、NOTの基本3素子を使って容易に追加作成できる。そこではじめにゲートの入力数を4入力まで増やしたり、負論理の論理記号もライブラリーに加えておいたほうが後の作業が楽になる。
LogicSimは簡易シミュレータとはいうものの、階層設計が可能のこととタイミングチャートの表示が可能な点が大きな特徴である。今回は前半に階層設計の例として3桁の加算器を取り上げ、モジュールの作り方とシミュレーションの方法を学ぶ。また後半はカウンタやシフトレジスタなどの順序回路の動作をタイムチャートの機能を有効に使ってシミュレーションする。

標準部品の追加
LogicSimのシミュレータ本体に付属している標準部品としてのゲートは2入力のAND、OR、NAND、NORおよびXORだけであり、またバッファーはBufferとNOTだけである。ゲートの入力数は4入力までは標準で備えておきたい。また負論理の論理記号も回路動作の理解を助けるし、標準ICの等価回路を入力する際には欠かせない。
前号の「カスタム化とモジュール」の項で3入力ANDのモジュール化の例を紹介しており、多少重複するが、ここでは4入力NANDと4入力の負論理NORの例を取りあげる。

1.ゲートの入力数拡大
図1のように標準部品のAND2個とNAND1個をドラッグして4入力NAND回路を合成する。 「Circuit」メニューで「Create Module]を選ぶとプレビューが表れるが、標準のシンボルはボックスで表示されるのでそのままでは使えない。そこでクラリスワークスのドロー環境を使ってあらかじめ4入力NANDのMIL論理記号によるシンボルを作成しておく(図2)。
完成したシンボルはグループ化し、これをコピーしておく。次にLogicSimのModule PreviewでPasteボタンをクリックするとボックス形状のシンボルがこのMIL論理記号のシンボルに置き変る(図3)。
このとき入力と出力ピンの位置を示す青丸と赤丸はシンボルの端子位置からずれることがあるので丸をドラッグして位置を修正しておく。完成したらSaveボタンを押してModuleフォルダーに4NANDという名前で保存する。
図1の回路は負論理では4入力のNOR回路であるから、負論理NORのシンボルを別に用意してペーストすれば同じ回路が別の論理記号でモジュール化できる。このようにして標準部品はモジュール化によって増やすことができ、使用するときは「Circuit」メニューの「Load Module」コマンドで部品パレットに呼び出してドラッグすればよい。
このようにしてできた新しいゲートとバッファーを図4に示す。


階層設計について
一般に論理回路設計は階層構造をとり、論理機能は機能単位にモジュール化される。この場合、上位レベルから設計を行うトップダウン方式と下位から設計を行うボトムアップ方式があるがLogicSimはボトムアップ方式の階層設計ができる。
階層設計の例として10進3桁の加算器の例を示す。この回路は下位から、半加算器、全加算器、4ビット加算器、BCD加算器の4層で構成される。

1.半加算器
図5は半加算器の回路図を示す。
この半加算器(Half Adder)をシミュレーションで動作確認を行い、問題がなければCreate Moduleコマンドをクリックする。Module previewウインドウ(図6)に表示される各ピンの名前は図4で入力した入出力部品の名前が割り付けられる。
ここでドローソフトで作っておいた論理記号をペーストして独自のものを作ってもよい。ピンの位置を修正した後、モジュール名HAとして保存する。

2.全加算器
次にまた新しいファイルを開き、Load Module コマンドにより指定のフォルダーからHAモジュールを開くと部品パレットの下部にHAモジュールが追加されるので、これをドラッグして図7の全加算器(FULL ADDER)の回路を作成する。
これも同様にしてシミュレーションにより動作を確認し、問題がなければFAという名前で保存する。

3.4ビット加算器
さらに、新しいファイルを開き、FAモジュールをドラッグして、図8の4ビット加算器の回路を作成する。
これもシミュレーションで動作を確認する。例えば、5+Cを実行すると和
は1でキャリー(COUT)は1となる。同様に4ADDERの名でモジュールとして保存する。
シミュレーションの実行時には、入力、出力の状態表示だけでなく回路の内部にある各部品について入力と出力の状態が表示されるので、回路規模が大きくなって段数が増えた場合にはこれを活用すると信号を追いかけてチェックするのに都合が良い。

4.BCD加算器
さらに新しいファイルを開き、この4ADDERモジュールを使って、図9のBCD加算器(BCD ADDER)の回路を作成する。
ここでは入力と出力に表示器を使い、10進1桁の加算動作がシミュレーションで直接確認できるようにしてある。被加数、加数の入力は表示器をクリックする毎に1づつ増加する。図の例では7+6で桁あげが生じ、CARRYのLEDが点灯し、一桁目の結果3が表示されている。FAでは8+8は和が0でキャリー1となったが、ここでは8+8は和が6でキャリーが1となる。
この回路をBCDADDERという名でモジュール化する。ただし、この回路のままでは入力と出力のピンが指定できないので表示器を入力スイッチとLEDに変えてピンの名前を指定した別名のファイルを用意する必要がある。

5.3桁加算器
図10はモジュールBCDADDERを3個使って10進数3桁の加算器を構成したものである。被加数、加数とも999まで入力可能で和はキャリーで1を表示するようにしているので1998まで表示できる。

6.2の補数によるBCD加算/減算回路
またFAモジュールを使った別の例として図11の2の補数によるBCDの加算/減算
回路を示す。S/AをLにしたときは加算動作、Hにしたときは減算動作が行われる。S/AがHの場合、減数B0、B1、B2、B3はEXーORによって反転されコンプリメントとなり全加算器に入力される。このときLSBの全加算器のキャリーCIにも1が加えられるので、結局、2の補数が作られたことになる。例えば、十進数で10-7=3の計算を例にとると、10進数の7は2進数では0111であるから、コンプリメントは1000となる。これに1を加えると1001で、これは2の補数であるから1010+1001=10011となる。加算の結果キャリーが1となるのは結果が正の場合で、はキャリーを捨てた残り0011(10進の3)がそのままは答えとなる。減算結果が負になる場合はキャリーが生ぜず、結果は2の補数として残るので、絶対値はさらにその補数をとる必要がある。


タイムチャートの活用
LogicSimの特徴は上記の階層設計が可能な点であるが、もう一つの特徴はタイムチャートの表示が可能な点である。これはフリップ・フロップ、カウンタやシフトレジスタなどの順序回路の動作を検証する場合に便利である。

1.並列データー直列データ変換回路
はじめに作成した4入力NANDゲートを利用して8入力のマルチプレクサ74HC151の等価回路を描き(図12)、これをモジュール化する。
このモジュールと別に用意した4ビットのカウンタモジュールを使って並列データー直列データ変換回路(図13)を作成する。 シミュレーションで並列データ10101010を入力しストローブを1にすると出力YのLEDが等間隔で点滅しブザーがなる。また「Windows」メニューでSignalsをチェックするとタイムチャートが表示され並列データ10101010が直列データに変換される様子を見ることができる(図14)。

2.DーFFとDラッチの動作
D-FFとDLatchの動作の違いを見るため図15の回路を作る。入力信号Dをステミュラスで図16のように定義してシミュレーションを実行すると図17のタイムチャートに示すように動作の明らかな違いを比較して見ることができる。

3.JKーFFのノイズによる誤動作
ステミュラスによって外来ノイズを定義してJKーFFのJ入力に加えてみるとマスタースレーブ方式では誤動作して出力が反転する様子を観察できる(図18)。エッジトリガー方式のJKーFFに同じノイズを加えても誤動作は見られない。

(つづく)


参考文献

Arnold's Web Page:http://www.planete.net/~amasson/logicsim.html
佐藤武久「早わかりデジタル回路技術と実用ノウハウ」日刊工業新聞社「電子技術」誌連載(94年1月号から96年1月号まで全15回)

http://visit.geocities.jp/visit.gif?&r=http%3A//search.yahoo.co.jp/search%3Fp%3DlogicSim%25E3%2580%2580%25E4%25BD%2590%25E8%2597%25A4%25E6%25AD%25A6%25E4%25B9%2585%26aq%3D-1%26oq%3D%26ei%3DUTF-8%26fr%3Dtop_ga1_sa%26x%3Dwrt&b=Netscape%205.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_9_2%29%20AppleWebKit/537.75.14%20%28KHTML%2C%20like%20Gecko%29%20Version/7.0.3%20Safari/537.75.14&s=1920x1080&o=MacIntel&c=24&j=true&v=1.2

デジタル回路シミュレーション(1)


第15回
   デジタル回路シミュレーション(1)

回路設計の実務では、パソコンベースの回路シミュレータとしてロジック回路のOrCADやアナログ回路のPSPICE,MicroCAPなどがよく使用されている。しかし電子回路の教育用や個人の学習用として使用するには価格もさることながらその操作法もかなりの習熟を必要とし決してなじみやすいものではない。
プリント基板の作成まで進める実務用ではなく、電子回路理論の自習用や教育用が主な用途であればフリーウェアやシェアウェアで操作もドローソフトを扱う程度の易しいものがある。回路に関する文献を読む場合に、手元で動作させて回路の振る舞いを確認しながら読み進めば一層理解が深まるだろう。
そこで今回はデジタル回路シミュレータとして「LogicSim 3.0b」を取り上げ、その操作法の特徴と応用例について学習する。これはMac版のみであるがWindows95用には「MultiMedia Logic」というよく似たソフトがある。

LogicSim について
LogicSim はデジタル回路をシミュレートするアプリケーションソフトで、クラリスドローのようなドローソフトに似た使いやすいGUIを持っている。
回路は標準部品(ゲート、バッファー、フリップフロップ、 LED 、スイッチなど)とできあいの回路を編集して作成するモジュールを含むことができ、モジュールを用いることで一層複雑な回路を組み立てることができる。
LogicSim はまた「Signal」ウインドウを持ち、回路のノードにおける信号をオシロスコープのように画面に表示する。
遅延時間は固定ではなく、すべてのゲートに任意の遅れを設定することができる。
LogicSimの入手はArnold's Web Page(http://www.planete.net/~amasson/logicsim.html)より最新版をダウンロードできる。ポストカードウェアなので使って気に入ったら作者に絵はがきを送るようにしよう。

簡単な操作例 
LogicSim を起動するとメインウインドウ(図1 メインウインドウ)とHelp, Info,Commandsの3つのウインドウが開く。メインウインドウの左側は標準部品のパレットである。
パレットのそれぞれの部品の上にマウスを動かすとHelpウインドウに内容が表示され選択時の確認に役立つ。
スイッチ、クロック、2つの LED と XOR ゲートを ドラッグアンドドロップし 、下の図2 未結線部品の配置のように未配線の部品を配置してみよう。
オプションキーを押しながらマウスをゲートの出力ワイヤに動かし、オプションキーを押し続けたままLEDの入力端子にドラッグし、二つのデバイスを結線する。ワイヤは出力から入力に向かってのみ結線される。
配線を描き終わったら次に部品にラベル名を書き込む。対象部品を選びCircuitメニューからComponent Nameダイアログを開いてキー入力する。これでシミュレーションを実行できる回路図が完成する(図3 結線済み部品)。

必要があれば対角線状のワイヤ配線を直角に整形する。シフトキーを押したままワイヤをクリックするとコーナーができるので任意位置にドラッグすればよい。
最後にクロック部品を選び、CircuitメニューからComponent Options ダイアログでそのPeriodを10にセットする。
WindowsメニューからNotesを選んで、短い記述をタイプして回路と一緒に保存しておけば将来の参考になる。
ここで回路をいったん保存してから、Simulationウインドウから RUN を選ぶと背景が黄色にかわる。そこで、スイッチとクロックをマウスでクリックすると出力のLEDが赤く点滅しシミュレーション動作に入る(図4 シミュレーションの実行)。

標準部品 
1.電源と入出力デバイス
Circuitウインドウの左側の部品パレットには標準部品(電源と入出力デバイス、ゲートとバッファー、フリップフロップ)およびカスタムのモジュールが配列される。これらの部品は通常の方法で描画領域にドラッグアンドドロップしてシミュレーションに用いることができる。電源と入出力デバイスには図5 電源と入出力デバイスのようなものが用意されている(描画領域にドラッグアンドドロップした状態)。

パレットの最上位にあるアースとVcc 電源はそれぞれ忠実なロジック(0)とロジック(1)の発生源である。
ボタンの出力は通常ロジック(0)になっているが、マウスをその上に置く間はロジック(1)に変わる。
スイッチはシミュレーションの実行中にマウスでクリックするとロジック(0)からロジック(1)に出力を反転させ、もう一度クリックすると元のロジック(0)に戻る。
クロックは矩形波を発生し、クロック期間は、クロックを選択して CircuitウインドウからComponent Optionダイアログを開き調節することができる。
クロックをマウスでクリックすると発振を始め、発振中のクロックをクリックすると停止する。
Input4 は16進数(hexadecimal)入力を生成するのに都合が良い。
出力デバイスは次の3つから選べる。
シングル LED :入力がロジック(1)のとき赤く輝く。
Display4 :入力レベルをデコードし、結果を16進数(0-9、 A- E)として7セグメント表示器に表示する 。
Beeper:音を再生する。音の高低はComponent Optionダイアログで変えることができ、また立ち上がりエッジにだけに応答して発音するオプションもある。

2.ゲートとバッファー
標準部品として図6 ゲートの2入力ゲートが登録されている。
この図でリストアップされたすべてのゲートと次図に示すBufferとNOTは、ctrlキーとCMDキーを押して、それを1回または数回クリックすることによって通常は 東西 向きになっている方向を別の方向に変えることができる。
シミュレーションではそれぞれの回路のピンはロジック(0)、ロジック(1)、ロジック(X)とロジック(Z)の4つの可能な状態(ステート)の1つに調整される。
ロジック(1)とロジック(0)は、通常の二進数で、これらのレベルのいずれかの値を取る出力はそれに接続されるすべての入力のレベルを決定する。
そのため、1つの入力が2つの出力に接続されることは禁止される。そのような場合、二つの出力は異なった値を持っている可能性があり、その結果は不確定となるだろう。
LogicSim はこのような接続が故意に作られることを許さないが、不確定あるい未知の状態が、他の方法で起こることはありうることで、そのような状態はロジック(X)で与えられる。例えば、システムの異なった部分がバスによって接続されるとか同じラインをドライブするいくつかの物理的に分離された出力を持つことが必要とされる状況がある。これはバッファーの1つであるトランジスタを使うことによって達成することができる。もしベース接続がロジック(1)であれば、入力は出力に直に接続され、ベースがロジック(0)であれば、出力とは完全に非接続となり、ハイインピーダンス状態ロジック(Z)に保たれる。

LogicSim はこの他にBufferとNOTを含む3種類のバッファー(図7 バッファー)を持っている。

3.フリップフロップ 
LogicSim はいくつかのタイプのフリップフロップの提供する(図8 フリップフロップ
RSは単純なセット - リセットフリップフロップで、ck入力のポジティブゴーイングエッジでクロック動作をする。
供給されるフリップフロップの中で最も柔軟なものは JK2 で非同期プリセットとクリア入力を持つポジティブエッジでトリガーされるJK タイプである。
JK はJK2 に等価であるがそのプリセットとクリア端子が内部で Vcc に結び付けられた単純化されたタイプである。
DFFはDタイプまたはデータフリップフロップ でD入力だけを持ち、クロック入力にポジティブゴーイングエッジを受けたとき出力に移される。
DLATCH は、DFFに非常に良く似たデバイスであるが、エッジトリガーの代わりにクロック入力がロジック(1)である間D入力を出力に転送する。
TFFはTタイプあるいは「トグル」フリップフロップで、同様にただ1つの入力を持ち、T =ロジック(1)で、クロックが次のポジティブゴーイングエッジになるとき出力を反転させる。

部品の遅延時間とファミリー 
LogicSim はそれぞれのピンのために6つの実数値を保存しておくことでデバイスの伝搬遅延特性を規定する :  
最小、平均、最大の立上がり時間 
最小、平均、最大の降下時間
選ばれた部品にCircuitメニューからComponent Delays を使ってFamilyまたはNoneの遅れ時間セットを割り当てる。後者では遅れ時間は個々のピンで異なる値にセットすることができる。設定値は0<= Min < = Mean <= Max を満足しなくてはならない。同じタイプの一つ以上の部品を、例えば、CMDキーを押しながらクリックして選ぶと遅れ時間はそれらすべてに適用される。部品から作られるコピーはそのファミリーすなわち遅れ時間を継承する。
ファミリーとそれに関連する遅れ時間はCircuitメニューからCreate New Familyダイアログを用いて定義する。
部品をファミリーのメンバーに構成するにはComponent Delays ダイアログを用いる。
配布されている部品ははじめはすべて遅れ時間がゼロであるDefault Delay Familyのメンバーである。LogicSimのファミリーは LogicSim フォルダーの中の Families フォルダーに保存しなければならない。
シミュレーションはオプションとして最小、平均、最大およびランダムの4つの遅れ時間モードの1つを選んで実行できる。ランダムモードでは遅れ時間は規定された最小値と最大値の間に分布する。

シグナル・ウインドウ 
このウインドウは回路のさまざまなポイントにある信号レベルをオシロスコープで表示する(図9 シグナル・ウインドウ
このウインドウの中をマウスポインターでクリックすると縦のカーソルが生成され、これをドラッグすれば、イベントの正確な時間とシーケンスを確認することができる。左の下にある2つのボタンは、アンカーポイントとして働くカーソルに関する時間軸を拡大または縮小する。
もしシミュレーションが安定になると、記録は休止する。ただし、時間軸は矢印ボタンで隣の 編集可能なテキスト領域に示されるステップ数だけ手動で進めることができる。
これは、回路のスイッチやボタンをクリックして安定した回路への入力を変えるときに、何が起きるかを図示して見る場合に特に有用である。

カスタム化とモジュール 
LogicSim はフォルダー「Default components」またはこのエリアスを持つフォルダーを探して標準部品のパレットを作る。 これらのフォルダーはLogicSim アプリケーションと同じフォルダーになくてはならない。新しい部品やモジュールはフォルダー「Default components」またはそのサブフォルダーにが置くことができる。また滅多に使われないものは、フォルダーから取り除きパレットをカスタマイズできる。
部品はフォルダーにファイル名順にロードされ、画面上に部品がどのように整列されるかを制御することができる。
多くの部品をロードすると、新しい書類が開かれるときに、数秒をかかる。中止するにはCMD キーまたは esc キーを押せばよい。
技術的見地から見て、部品ファイルには次の3つのタイプがある。
1.標準部品、
2.LogicSim 回路で作成したモジュール
3.ソフトウェア開発キットSDKを使ってパスカル あるいはCソースからコンパイルされたコードリソース
いずれも全く同じ方法でロードできる。どんな LogicSim 回路もモジュールとして保存することができ、次にそれを一層複雑な回路でビルディングブロックとしてに使うことができる。
例題回路の「3 - IP AND cct 」(図10 「3-IP AND 」回路)は3入力AND動作を行う。
「Circuit」メニューから「Create Module」を選ぶとプレビューが表れ、モジュールがどのように表示されるかがわかる。入力スイッチ/ボタンと出力 LED の名前がピンラベルとして用いられる。
もしデフォルトの見栄えが好ましければ、モジュールは Save ボタンですぐに保存できる。モジュールの見栄えはドローパッケージを使って編集することもできる。その場合にはCopyとPasteボタンをクリックすると、クリップボードを介して PICT イメージに変換される。
モジュールダイアログの中の青と赤の円は、それぞれ入力と出力端子の位置を示し、ドラッグして位置を変えることができる。
完成したモジュールが Examples フォルダーにある「3ー IP AND 」(図11a 「3-IP AND 」モジュール)である。
同様に7400シリーズなども容易にモジュール化できる(図11b 「7400」モジュール)。

いくつかのドローパッケージでは良い結果が得にくいので1pt のペンと 1dpi のグリッドで実験してから始めるのがよい。
モジュールを回路定義するときに他のモジュールを部品として含むことができる。
当然、モジュールの中で部品として用いられるモジュールのインターフィースを不用意に編集すると不具合が起こりうる。モジュールの包含関係を十分把握しておく必要がある。

ステミュラス・ウインドウ
スイッチとクロックは ステミュラス ・ウインドウの中のコマンドとしてリストすることによってシーケンスと動作の時間をあらかじめセットされた時間に自動的に状態を変えるようにプログラムすることができる。
コマンド構文は次のようになる :  
< ComponentName > : < TimeSpec1 >< State1 >< TimeSpec2 >< State2 >...
構文エラーは Info ウインドウにレポートされる。
行の上の//の後に続いているいかなるものもコメントとして取り扱われる。
LogicSim では、状態に許される値は スイッチ出力には{ L0 、 L1 、LX、 LZ }、クロック動作では{ON、OFF}である。
符号なし整数の TimeSpecs は、Execute ボタンが押された後のシミュレーションサイクルで絶対時間として扱われる。
頭に+ 符号の付いたTimeSpecs は前のコマンドのあと次のコマンドまで待つシミュレーションサイクルの数と解釈される。
例えば、図12 ステミュラスの例題回路の回路で、クロック動作を時間1000で開始し、500サイクル後で停止し、またスイッチを時刻0でロジック(0)に、時刻500でロジック(1)、時刻750でロジック(0)に戻るようにセットするとしよう。
ステミュラス・ウインドウ に次の行をタイプする必要がある :  
foo :1000 ON 1500 OFF
// Hello Mum !
bar : 0 L0 500 L1 750 L0

あるいは、次のように書いても等価である。
foo : 1000 ON + 500 OFF // Hello World
bar: 0 L0 + 500 L1 +250 L0  
コマンドは、実行されるとInfo ウインドウにリストアップされる。

LogicSimの応用
次号につづく


(つづく)


参考文献

Arnold's Web Page:http://www.planete.net/~amasson/logicsim.html
佐藤武久「早わかりデジタル回路技術と実用ノウハウ」日刊工業新聞社「電子技術」誌連載(94年1月号から96年1月号まで全15回)
http://visit.geocities.jp/visit.gif?&r=http%3A//search.yahoo.co.jp/search%3Fp%3DlogicSim%25E3%2580%2580%25E4%25BD%2590%25E8%2597%25A4%25E6%25AD%25A6%25E4%25B9%2585%26aq%3D-1%26oq%3D%26ei%3DUTF-8%26fr%3Dtop_ga1_sa%26x%3Dwrt&b=Netscape%205.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_9_2%29%20AppleWebKit/537.75.14%20%28KHTML%2C%20like%20Gecko%29%20Version/7.0.3%20Safari/537.75.14&s=1920x1080&o=MacIntel&c=24&j=true&v=1.2