2015年6月15日 星期一

Beamer 範本2:專題研討課程 PPT


檢視:USB_Joystick.pdf
下載:USB_Joystick.tex

編譯方式 (若有 .bib 檔可能需要先 rm 刪除掉):
xelatex USB_Joystick
bibtex USB_Joystick
xelatex USB_Joystick
xelatex USB_Joystick

evince USB_Joystick.pdf

% Latex Beamer - USB Joystick 
% 2015/06/17
%===============================================================
% LaTeX Beamer environment setting
\documentclass[xetex,mathserif,serif,xcolor=dvipsnames]{beamer}

% 解決 XeTeX 中文的斷行問題
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt

\usepackage{color, colortbl}
\usepackage{caption}
\usepackage{url, hyperref}
\captionsetup{skip=0pt,belowskip=0pt}
%===============================================================
%% 字型 Fonts Setting
%% Reference: http://hyperrate.com/thread.php?tid=23544
% 預設英文字體
\usepackage{arevmath}
\usepackage[no-math]{fontspec}
\setmainfont[Scale=0.9]{DejaVuSansMono}

% 預設中文字體
\usepackage[CJKchecksingle, normalindentfirst, SlantFont, BoldFont]{xeCJK}
\setCJKmainfont{金梅新中楷國際碼}

% 自定義字體切換指令
% 中文
\newfontfamily{\J}{金梅新中楷國際碼}
\newfontfamily{\B}{華康中黑體}

% 英文
\newfontfamily{\D}[Scale=0.9]{DejaVuSansMono}
\newfontfamily{\T}{Times New Roman}
\newfontfamily{\A}{Arial}

% 粗體字
% \textbf{內容}
%===============================================================
%% Theme 設定主題樣式
\usetheme{Madrid}
%===============================================================
%% Color Theme設定投影片顏色
\usecolortheme{beaver}
%===============================================================
% 設定列表樣式
% 可以選擇:ball, circle, rectangle, default
\setbeamertemplate{items}[ball]
\setbeamertemplate{caption}[numbered]
%===============================================================
%隱藏 beamer 底部小工具列
\setbeamertemplate{navigation symbols}{}
%====================================================================
% 重設 frametitle 的預設為置中,上方的 usetheme 要改為 [height=0]
\setbeamertemplate{frametitle}[default][center]
%==============================================================================
%% Reference Table
% https://zh.wikipedia.org/wiki/BibTeX
% http://tex.stackexchange.com/questions/68080/beamer-bibliography-icon
\begin{filecontents}{\jobname.bib}
@article{ref1,
        author={林永昌},
        title={USB規格與技術},
        journal={CCL TECHNICAL JOURNAL},
        pages={26--32},
        volume={103期},
        year={2003-03-25}
}

% http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5776968
@article{ref2,
        author={Yung-Hoh Sheua, Tsun-Hsiang Fu, Chun-Ming Ku},
        title={The Design of FlexRay/CAN/LIN Protocol Analyzer},
        pages={5466--5469},
        year={2011},
        journal={Electric Information and Control Engineering (ICEICE)}
}

% http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6287165
@article{ref3,
        author={Nurul Fatihah Jusoh, Muhammad Adib Haron, Fuziah Sulaiman },
        title={An FPGA Implementation of Shift Converter Block
Technique on FIFO for RS232 to Universal Serial
Bus Converter},
        pages={219--224},
        year={2012},
        journal={Control and System Graduate Research Colloquium (ICSGRC)}
}

% http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6168758
@article{ref4,
        author={Nurul Fatihah Jusoh, Azlina Ibrahim, Muhamad Adib Haron and Fuziah Sulaiman},
        title={An FPGA Implementation of Shift Converter Block
Technique on FIFO for UART},
        pages={320--324},
        year={2011},
        journal={RF and Microwave Conference (RFM)}
}

@book{b1,
    title={USB 2.0 系統開發實例精解},
    author={廖濟林},
    isbn={9789861990040},
    year={2007},
    publisher={城邦文化事業股份有限公司},
    keywords = {USB}
}

@book{b2,
    title={USB 2.0 原理與研發技術},
    author={王成儒、李英偉},
    isbn={9572152688},
    year={2006},
    publisher={全華科技圖書股份有限公司},
    keywords = {USB}
}

@book{b3,
    title={微處理機與 USB 主從介面之設計與應用},
    author={許永和},
    isbn={9574997677},
    year={2006},
    publisher={儒林圖書有限公司},
    keywords = {USB}
}

@book{b4,
    title={USB 規格與理論剖析},
    author={許永和},
    isbn={9789574998692},
    year={2009},
    publisher={儒林圖書有限公司},
    keywords = {USB}
}

@book{b5,
    title={USB 應用開發技術大全},
    author={薛園園},
    isbn={9789862041529},
    year={2008},
    publisher={文魁資訊股份有限公司},
    keywords = {USB}
}

@online{arduino,
        author={Circuits@Home},
        title={USB Host Shield 2.0 for Arduino},
        howpublished={\url{https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino}},
        note={Accessed:2015-06-08}
}

@misc{p1,
        title={USB Protocol Analyzer},
        yesr={2013},
        howpublished={\url{http://goods.ruten.com.tw/item/show?21303303948219}},
        note={Accessed:2015-06-08}
}

@misc{p2,
        title={Beagle USB 12 Protocol Analyzer},
        howpublished={\url{http://www.totalphase.com/products/beagle-usb12/}},
        note={Accessed:2015-06-08}
}

@misc{p3,
        title={MQP Electronics Packet-Master USB 12},
        howpublished={\url{http://www.mqp.com/usbdev_buy.htm}},
        note={Accessed:2015-06-08}
}

@misc{p4,
        title={ITIC 1480A USB 2.0 Protocol Analyzer},
        howpublished={\url{http://www.internationaltestinstruments.com/products/97-1480a-usb-20-protocol-analyzer.aspx}},
        note={Accessed:2015-06-09}
}

@misc{p5,
        title={Elisys USB Explorer 200 Basic},
        howpublished={\url{http://www.ellisys.com/products/usbex200/}},
        note={Accessed:2015-06-09}
}

@misc{p6,
        title={LeCroy Conquest Standard},
        howpublished={\url{http://teledynelecroy.com/protocolanalyzer/}},
        note={Accessed:2015-06-09}
}

@misc{mcp2200,
        title={MCP2200},
        howpublished={\url{http://www.microchip.com/wwwproducts/devices.aspx?dDocName=en546923}},
        note={Accessed:2015-06-06}
}

@misc(ncku,
        title={USB (Universal Serial Bus)},
        author={成大資工},
        howpublished={\url{http://wiki.csie.ncku.edu.tw/embedded/USB}},
        note={Accessed:2015-06-13}
}

@misc{zeroplus,
        title={USB2.0信號分析技巧},
        author={ZEROPLUS},
        howpublished={\url{http://www.zeroplus.com.tw/E-paper/201112/images/201112-USB20ProtocolAnalyzer.pdf}},
        note={Accessed:2015-06-13}
}
\end{filecontents}
%==============================================================================
%% Reference Setting 參考文獻環境設定
%% https://www.economics.utoronto.ca/osborne/latex/BIBTEX.HTM
%% http://tex.stackexchange.com/questions/147279/references-at-the-end-of-beamer-slides
\usepackage{cite}
\usepackage{natbib}

%\usepackage{natbib}
%\usepackage{bibtex}
%\usepackage{bibentry}
%\usepackage{chngcntr}
%\bibliographystyle{apalike}
%%%\bibliographystyle{stylename}
%
%\setbeamercolor*{bibliography entry title}{fg=black}
%\setbeamercolor*{bibliography entry author}{fg=black}
%\setbeamercolor*{bibliography entry location}{fg=black}
%\setbeamercolor*{bibliography entry note}{fg=black}
%\setbeamertemplate{bibliography item}{}
%%\setbeamertemplate{bibliography item}{\insertbiblabel}
%\setbeamertemplate{frametitle continuation}[from second]
%
%\counterwithin*{footnote}{page}
%\newcommand\fcite[1]{\footnote{\tiny \bibentry{#1}}\label{\thepage:#1}}
%\newcommand\scite[1]{\textsuperscript{\ref{\thepage:#1}}}
%
%\nobibliography{\jobname}
%==============================================================================
\begin{document}
%==============================================================================
\title[\tiny USB sniffer with the Arduino]{\huge USB sniffer with the Arduino}
\author[\tiny MA330101 廖凱霖]{\\MA330101 廖凱霖}
\date[\tiny 2015/06/17]{2015/06/17}
%==============================================================================
%%% 投影片開始 Frame Start

% Title
\frame{\titlepage}

% Outline
\frame{ \frametitle{Outline}
        \tableofcontents}

% Abstract
% 做什麼東西,用什麼方法,得到什麼結果
\section{摘要}
\frame{ \frametitle{摘要}
\begin{itemize}[<+->]
        \item 做 USB (Universal Serial Bus) 訊號封包解析儀。
        \item 自動解碼,直接得到封包、資料。
        \begin{figure}
                \centering
                \includegraphics[width=0.6\textwidth]{analyzer.jpeg}
                \caption{USB 解析儀架構圖}
        \end{figure}
\end{itemize}
}

%Action 
\section{研究動機}
\frame{ \frametitle{Outline}\tableofcontents[currentsection]}
\frame{ \frametitle{研究動機 1/2}
\begin{itemize}[<+->]
        \item 產學合作:「做 PlayStation 4 格鬥搖桿台」。
        \item 實驗室舊型號邏輯分析儀不支援 USB 解析。
        \item 封包做解碼及列表整理需花大量時間。
\end{itemize}
}

%
\frame{ \frametitle{研究動機 2/2}
\begin{itemize}
        \item 市場調查:
        \begin{itemize}
                \item 市面上 USB 封包解析儀,價格昂貴 (至少壹萬元起跳)。
                \item 整合太多功能,操作複雜。
        \end{itemize}
\end{itemize}
% -------------
\captionof{table}{USB 分析儀市場調查表}
\begin{table}[h]
\begin{tabular}{|l|r|}
\hline
\rowcolor[HTML]{000000}
\multicolumn{1}{|c|}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} 產品名稱}} & \multicolumn{1}{c|}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} 市售價格}} \\ \hline
USB Protocol Analyzer                                                     & NT\$10,500                                                               \\ \hline
Beagle USB 12 Protocol Analyzer                                           & NT\$14,777                                                               \\ \hline
MQP Electronics Packet-Master USB 12                                      & NT\$15,698                                                               \\ \hline
ITIC 1480A USB 2.0 Protocol Analyzer                                      & NT\$21,621                                                               \\ \hline
Elisys USB Explorer 200 Basic                                             & NT\$24,856                                                               \\ \hline
LeCroy Conquest Standard                                                  & NT\$37,300                                                               \\ \hline
\end{tabular}
\end{table}
\nocite{p1,p2,p3,p4,p5,p6}
%-------------
}

%background 
\section{研究背景及知識}
\frame{ \frametitle{Outline}\tableofcontents[currentsection]}
\frame{ \frametitle{研究背景及知識 1/5}
\nocite{b1,b2,b5,b3,b4,ref1}
\begin{itemize}[<+->]
        \item 無時脈訊號 (Clock Signal)。
        \item 使用兩條差動訊號 D+/D- 做資料傳遞。
        \item 定義訊號 `1':(D+) - (D-) > 200mV \\
                定義訊號 `0':(D+) - (D-) < -200mV
\end{itemize}
}

%background 
\frame{ \frametitle{研究背景及知識 2/5}
\begin{itemize}[<+->]
        \item 使用 NRZI(Non-Return to Zero Inverted) 編碼:\\
                設起始狀態 H,資料 `0' 狀態反向;`1' 狀態保持原來。
\end{itemize}
\begin{figure}
        \centering
        \includegraphics[width=0.8\textwidth]{NRZI.jpeg}
        \caption{NRZI 編碼流程圖}
\end{figure}
}
%
\frame{ \frametitle{研究背景及知識 3/5}
\begin{itemize}
        \item USB 一個完整的傳輸單位:資訊交易 (Transaction)。
\end{itemize}
\begin{figure}
        \centering
        \includegraphics[width=0.9\textwidth]{transation.jpeg}
        \caption{單個 Transation 架構圖}
\end{figure}
}
%
\frame{ \frametitle{研究背景及知識 4/5}
\begin{itemize}
        \item 封包組成格式\cite{zeroplus}:
\begin{itemize}
        \item 同步序列:取代 Clock 來同步資料。
        \item PID:定義封包類型。
        \item 封包具體資訊:封包資料內容(依 PID 而有所不同)。
        \item CRC:檢查錯誤。
        \item EOP:結束封包 (回到 idle ) 狀態。
\end{itemize}
\end{itemize}
\begin{figure}
        \centering
        \includegraphics[width=0.9\textwidth]{packet.jpeg}
        \caption{封包 Padket 基本格式}
\end{figure}
}
%
\frame{ \frametitle{研究背景及知識 5/5}
\begin{itemize}
        \item 資料型態辨別:PID (Packet ID)。
\end{itemize}
\begin{figure}
        \centering
        \includegraphics[height=0.72\textheight]{0015.jpg}
        \caption{PID Types\cite{ncku}}
\end{figure}
}

%% 
\section{文獻回顧及探討}
\frame{ \frametitle{Outline}\tableofcontents[currentsection]}
\frame{ \frametitle{文獻回顧及探討}
\begin{itemize}
        \item 參考文獻 \cite{ref3,ref4},以 FPGA 實作 UART to USB 訊號轉換器。
\end{itemize}
\begin{figure}
        \centering
        \includegraphics[width=0.8\textwidth]{uarttousb.jpg}
        \caption{FIFO 轉換圖框}
\end{figure}
}

% 
\section{研究方法及步驟}
\frame{ \frametitle{Outline}\tableofcontents[currentsection]}
\frame{ \frametitle{研究方法及步驟 1/4}
\begin{itemize}
        \item 使用現有設備量測原廠 PS4 搖桿,建立資料庫。
\end{itemize}
\begin{figure}
        \begin{columns}
        \column{0.5\textwidth}
                \includegraphics[width=\textwidth]{agilent.jpg}
                \caption{Agilent 示波器}
        \column{0.5\textwidth}
                \includegraphics[width=\textwidth]{zp.jpg}
                \caption{Zeroplus 邏輯分析儀}
        \end{columns}
\end{figure}
}
%
\frame{ \frametitle{研究方法及步驟 2/4}
\begin{itemize}
        \item 實作的方法:Arduino UNO + MCP2200 \cite{mcp2200}
\end{itemize}
        \begin{figure}
        \centering
        \only<1>{\includegraphics[width=0.6\textwidth]{arch1.jpeg}}\only<2>{\includegraphics[width=0.6\textwidth]{arch2.jpeg}}\only<3>{\includegraphics[width=0.6\textwidth]{arch3.jpeg}}
                \caption{實作方法架構圖}
        \end{figure}
}
%
\frame{ \frametitle{研究方法及步驟 3/4}
\begin{itemize}
        \item 使用 Arduino UNO 開發板 (ClockSpeed 16MHz)。
        \item USB Device (1.5 MBps, Low-speed) 訊號分析不需要高速運算。
        \item 價格低。
\end{itemize}
%figure
\begin{figure}
        \centering
        \includegraphics[width=0.5\textwidth]{uno.png}
        \caption{Arduino UNO 開發板}
\end{figure}

}
%
\frame{ \frametitle{研究方法及步驟 4/4}
\begin{itemize}
        \item 使用晶片:MCP2200 (USB to UART)。
        \item 讓 USB D+/D- 與 Arduino Tx/Rx 能夠互相溝通。
\end{itemize}
%figure
\begin{figure}
        \centering
        \includegraphics[width=0.8\textwidth]{mcp2200_arch.jpg}
        \caption{MCP2200 晶片架構}
\end{figure}

}

% 
\section{預期研究成果}
\frame{ \frametitle{Outline}\tableofcontents[currentsection]}
\frame{ \frametitle{預期研究成果}
\begin{itemize}
        \item 對多種主機平台(例如:PS3, PS4, XBOX, PC...等),\\
              解析其 USB 週邊裝置之封包訊號。
        \item 不要太多設定,一插即分析並整理好封包資料。
\end{itemize}
%figure
\begin{figure}
        \centering
        \includegraphics[width=0.8\textwidth]{analyzer_2.jpeg}
        \caption{多平台分析示意圖}
\end{figure}

}

% 
\section{結論}
\frame{ \frametitle{Outline}\tableofcontents[currentsection]}
\frame{ \frametitle{結論}
\begin{itemize}[<+->]
        \item USB 為現在及未來之人機介面的主流趨勢。
        \item 封包解析變得更簡易更省成本。
        \item 仍要依循 USB-IF 制定的規則及標準。
        \item 未來進一步的發展方向為`藍芽裝置'的解析。
\end{itemize}
}

% 
\section{參考文獻}
\frame{ \frametitle{Outline}\tableofcontents[currentsection]}
\frame{ \frametitle{參考文獻}
        \tiny{\bibliographystyle{abbrv} }
        \bibliography{\jobname} }
\end{document}

沒有留言:

張貼留言